Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added production profiling bundle type #12886

Merged
merged 8 commits into from Jun 11, 2018

Conversation

Projects
None yet
6 participants
@bvaughn
Copy link
Contributor

bvaughn commented May 22, 2018

Adds a new "profiling" target to ReactDOM (cjs) and ReactNative (oss) bundles. This is a production build (process.env.NODE_ENV === "production") but has the profiling timing flag enabled (via a new env variable process.env.REACT_ENABLE_PROFILING).

I don't believe that other bundles need this new build type, but it would be easy enough to add if we decided it did.

┌──────────────────────────────────┬──────────────────┬───────────┬───────────┐
│ Bundle                           │ Type             │ Size      │ Gzip      │
├──────────────────────────────────┼──────────────────┼───────────┼───────────┤
│ react-dom.development.js         │ NODE_DEV         │ 603.67 KB │ 140.49 KB │
├──────────────────────────────────┼──────────────────┼───────────┼───────────┤
│ react-dom.production.min.js      │ NODE_PROD        │ 92.33 KB  │ 29.41 KB  │
├──────────────────────────────────┼──────────────────┼───────────┼───────────┤
│ react-dom.profiling.min.js       │ NODE_PROFILING   │ 93.28 KB  │ 29.77 KB  │
├──────────────────────────────────┼──────────────────┼───────────┼───────────┤
│ ReactNativeRenderer-dev.js       │ RN_OSS_DEV       │ 454.67 KB │ 99.65 KB  │
├──────────────────────────────────┼──────────────────┼───────────┼───────────┤
│ ReactNativeRenderer-prod.js      │ RN_OSS_PROD      │ 193.62 KB │ 33.9 KB   │
├──────────────────────────────────┼──────────────────┼───────────┼───────────┤
│ ReactNativeRenderer-profiling.js │ RN_OSS_PROFILING │ 196.27 KB │ 34.47 KB  │
├──────────────────────────────────┼──────────────────┼───────────┼───────────┤
│ ReactFabric-dev.js               │ RN_OSS_DEV       │ 445.96 KB │ 97.5 KB   │
├──────────────────────────────────┼──────────────────┼───────────┼───────────┤
│ ReactFabric-prod.js              │ RN_OSS_PROD      │ 185.91 KB │ 32.56 KB  │
├──────────────────────────────────┼──────────────────┼───────────┼───────────┤
│ ReactFabric-profiling.js         │ RN_OSS_PROFILING │ 188.19 KB │ 33.06 KB  │
└──────────────────────────────────┴──────────────────┴───────────┴───────────┘
@bvaughn

This comment has been minimized.

Copy link
Contributor Author

bvaughn commented May 22, 2018

ReactNativeRenderer-prod.js vs ReactNativeRenderer-profiling diff

8c8
<  * @providesModule ReactNativeRenderer-prod
---
>  * @providesModule ReactNativeRenderer-profiling
1812a1813
>   this.treeBaseTime = this.selfBaseTime = 0;
1839a1841,1842
>   workInProgress.selfBaseTime = current.selfBaseTime;
>   workInProgress.treeBaseTime = current.treeBaseTime;
1870a1874,1878
>           (type.stateNode = {
>             elapsedPauseTimeAtStart: 0,
>             duration: 0,
>             startTime: 0
>           }),
2295a2304,2323
> var commitTime = 0,
>   timerPausedAt = 0,
>   totalElapsedPauseTime = 0;
> function markActualRenderTimeStarted(fiber) {
>   fiber = fiber.stateNode;
>   fiber.elapsedPauseTimeAtStart = totalElapsedPauseTime;
>   fiber.startTime = now$1();
> }
> function recordElapsedActualRenderTime(fiber) {
>   fiber = fiber.stateNode;
>   fiber.duration +=
>     now$1() -
>     (totalElapsedPauseTime - fiber.elapsedPauseTimeAtStart) -
>     fiber.startTime;
> }
> function resumeActualRenderTimerIfPaused() {
>   0 < timerPausedAt &&
>     ((totalElapsedPauseTime += now$1() - timerPausedAt), (timerPausedAt = 0));
> }
> var baseStartTime = -1;
3211c3239,3242
<   var nextChildren = didCaptureError ? null : shouldUpdate.render();
---
>   if (didCaptureError) {
>     var nextChildren = null;
>     baseStartTime = -1;
>   } else nextChildren = shouldUpdate.render();
3368a3400
>   baseStartTime = -1;
3397a3430
>     baseStartTime = -1;
3412a3446,3448
>         break;
>       case 15:
>         markActualRenderTimeStarted(workInProgress);
3812a3849,3850
>         markActualRenderTimeStarted(workInProgress),
>         (workInProgress.effectTag |= 4),
4023c4061
<       return null;
---
>       return recordElapsedActualRenderTime(workInProgress), null;
4382a4421,4430
>       instance = finishedWork.memoizedProps.onRender;
>       instance(
>         finishedWork.memoizedProps.id,
>         null === current ? "mount" : "update",
>         finishedWork.stateNode.duration,
>         finishedWork.treeBaseTime,
>         finishedWork.stateNode.startTime,
>         commitTime
>       );
>       finishedWork.stateNode.duration = 0;
4540a4589,4592
>           break;
>         case 15:
>           resumeActualRenderTimerIfPaused(),
>             recordElapsedActualRenderTime(interruptedWork$jscomp$0);
4575,4580c4627,4643
<         for (updateQueue = workInProgress.child; null !== updateQueue; )
<           0 !== updateQueue.expirationTime &&
<             (0 === newExpirationTime ||
<               newExpirationTime > updateQueue.expirationTime) &&
<             (newExpirationTime = updateQueue.expirationTime),
<             (updateQueue = updateQueue.sibling);
---
>         if (workInProgress.mode & 4) {
>           updateQueue = workInProgress.selfBaseTime;
>           for (var child = workInProgress.child; null !== child; )
>             (updateQueue += child.treeBaseTime),
>               0 !== child.expirationTime &&
>                 (0 === newExpirationTime ||
>                   newExpirationTime > child.expirationTime) &&
>                 (newExpirationTime = child.expirationTime),
>               (child = child.sibling);
>           workInProgress.treeBaseTime = updateQueue;
>         } else
>           for (updateQueue = workInProgress.child; null !== updateQueue; )
>             0 !== updateQueue.expirationTime &&
>               (0 === newExpirationTime ||
>                 newExpirationTime > updateQueue.expirationTime) &&
>               (newExpirationTime = updateQueue.expirationTime),
>               (updateQueue = updateQueue.sibling);
4625,4630c4688,4695
<   var next = beginWork(
<     workInProgress.alternate,
<     workInProgress,
<     nextRenderExpirationTime
<   );
<   null === next && (next = completeUnitOfWork(workInProgress));
---
>   var current = workInProgress.alternate;
>   workInProgress.mode & 4 && (baseStartTime = now$1());
>   current = beginWork(current, workInProgress, nextRenderExpirationTime);
>   workInProgress.mode & 4 &&
>     (-1 !== baseStartTime &&
>       (workInProgress.selfBaseTime = now$1() - baseStartTime),
>     (baseStartTime = -1));
>   null === current && (current = completeUnitOfWork(workInProgress));
4632c4697
<   return next;
---
>   return current;
4660c4725
<       if (isAsync)
---
>       if (isAsync) {
4663c4728,4729
<       else
---
>         0 === timerPausedAt && (timerPausedAt = now$1());
>       } else
4667c4733
<       if (null === nextUnitOfWork)
---
>       if (((baseStartTime = -1), null === nextUnitOfWork))
4949a5016
>   resumeActualRenderTimerIfPaused();
5021c5088,5089
<               ? (root.finishedWork = isAsync)
---
>               ? ((root.finishedWork = isAsync),
>                 0 === timerPausedAt && (timerPausedAt = now$1()))
5113a5182
>   commitTime = now$1();
5274a5344
>   totalElapsedPauseTime = 0;
@bvaughn

This comment has been minimized.

Copy link
Contributor Author

bvaughn commented May 22, 2018

react-dom.production.min.js vs react-dom.profiling.min.js

2c2
<  * react-dom.production.min.js
---
>  * react-dom.profiling.min.js
15c15
<   ca = require("react"),
---
>   ba = require("react"),
40c40
< ca ? void 0 : A("227");
---
> ba ? void 0 : A("227");
67c67
<     return ka.apply(B, arguments);
---
>     return ja.apply(B, arguments);
82c82
< function ka() {
---
> function ja() {
321c321
< function Xa(a) {
---
> function Wa(a) {
324c324
< function Ya(a) {
---
> function Xa(a) {
327c327
< function Za(a, b, c, d) {
---
> function Ya(a, b, c, d) {
361c361
<   accumulateTwoPhaseDispatches: Ya,
---
>   accumulateTwoPhaseDispatches: Xa,
365c365
<   accumulateEnterLeaveDispatches: Za,
---
>   accumulateEnterLeaveDispatches: Ya,
367c367
<     Ba(a, Xa);
---
>     Ba(a, Wa);
671c671
<           Ya(e),
---
>           Xa(e),
675c675
<         ? ((b = ub.getPooled(Bb.beforeInput, b, c, d)), (b.data = a), Ya(b))
---
>         ? ((b = ub.getPooled(Bb.beforeInput, b, c, d)), (b.data = a), Xa(b))
828,841c828,841
<     ca.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,
<   I = "function" === typeof Symbol && Symbol.for,
<   fc = I ? Symbol.for("react.element") : 60103,
<   gc = I ? Symbol.for("react.portal") : 60106,
<   hc = I ? Symbol.for("react.fragment") : 60107,
<   ic = I ? Symbol.for("react.strict_mode") : 60108,
<   jc = I ? Symbol.for("react.profiler") : 60114,
<   mc = I ? Symbol.for("react.provider") : 60109,
<   nc = I ? Symbol.for("react.context") : 60110,
<   oc = I ? Symbol.for("react.async_mode") : 60111,
<   pc = I ? Symbol.for("react.forward_ref") : 60112,
<   qc = I ? Symbol.for("react.timeout") : 60113,
<   rc = "function" === typeof Symbol && Symbol.iterator;
< function sc(a) {
---
>     ba.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,
>   fc = "function" === typeof Symbol && Symbol.for,
>   gc = fc ? Symbol.for("react.element") : 60103,
>   hc = fc ? Symbol.for("react.portal") : 60106,
>   ic = fc ? Symbol.for("react.fragment") : 60107,
>   jc = fc ? Symbol.for("react.strict_mode") : 60108,
>   kc = fc ? Symbol.for("react.profiler") : 60114,
>   lc = fc ? Symbol.for("react.provider") : 60109,
>   mc = fc ? Symbol.for("react.context") : 60110,
>   nc = fc ? Symbol.for("react.async_mode") : 60111,
>   qc = fc ? Symbol.for("react.forward_ref") : 60112,
>   rc = fc ? Symbol.for("react.timeout") : 60113,
>   sc = "function" === typeof Symbol && Symbol.iterator;
> function tc(a) {
843c843
<   a = (rc && a[rc]) || a["@@iterator"];
---
>   a = (sc && a[sc]) || a["@@iterator"];
846c846
< function tc(a) {
---
> function uc(a) {
851,852d850
<     case oc:
<       return "AsyncMode";
853a852,853
>       return "AsyncMode";
>     case mc:
855c855
<     case hc:
---
>     case ic:
857c857
<     case gc:
---
>     case hc:
859c859
<     case jc:
---
>     case kc:
861c861
<     case mc:
---
>     case lc:
863c863
<     case ic:
---
>     case jc:
868c868
<       case pc:
---
>       case qc:
886c886
<         var e = tc(a);
---
>         var e = uc(a);
888c888
<         c && (f = tc(c));
---
>         c && (f = uc(c));
913,915c913,915
<   yc = {};
< function zc(a) {
<   if (yc.hasOwnProperty(a)) return !0;
---
>   zc = {};
> function Ac(a) {
>   if (zc.hasOwnProperty(a)) return !0;
917c917
<   if (wc.test(a)) return (yc[a] = !0);
---
>   if (wc.test(a)) return (zc[a] = !0);
921c921
< function Ac(a, b, c, d) {
---
> function Bc(a, b, c, d) {
936,937c936,937
< function Bc(a, b, c, d) {
<   if (null === b || "undefined" === typeof b || Ac(a, b, c, d)) return !0;
---
> function Cc(a, b, c, d) {
>   if (null === b || "undefined" === typeof b || Bc(a, b, c, d)) return !0;
952c952
< function J(a, b, c, d, e) {
---
> function I(a, b, c, d, e) {
960c960
< var K = {};
---
> var J = {};
964c964
<     K[a] = new J(a, 0, !1, a, null);
---
>     J[a] = new I(a, 0, !1, a, null);
973c973
<   K[b] = new J(b, 1, !1, a[1], null);
---
>   J[b] = new I(b, 1, !1, a[1], null);
976c976
<   K[a] = new J(a, 2, !1, a.toLowerCase(), null);
---
>   J[a] = new I(a, 2, !1, a.toLowerCase(), null);
981c981
<   K[a] = new J(a, 2, !1, a, null);
---
>   J[a] = new I(a, 2, !1, a, null);
986c986
<     K[a] = new J(a, 3, !1, a.toLowerCase(), null);
---
>     J[a] = new I(a, 3, !1, a.toLowerCase(), null);
989c989
<   K[a] = new J(a, 3, !0, a.toLowerCase(), null);
---
>   J[a] = new I(a, 3, !0, a.toLowerCase(), null);
992c992
<   K[a] = new J(a, 4, !1, a.toLowerCase(), null);
---
>   J[a] = new I(a, 4, !1, a.toLowerCase(), null);
995c995
<   K[a] = new J(a, 6, !1, a.toLowerCase(), null);
---
>   J[a] = new I(a, 6, !1, a.toLowerCase(), null);
998c998
<   K[a] = new J(a, 5, !1, a.toLowerCase(), null);
---
>   J[a] = new I(a, 5, !1, a.toLowerCase(), null);
1000,1001c1000,1001
< var Cc = /[\-:]([a-z])/g;
< function Dc(a) {
---
> var Dc = /[\-:]([a-z])/g;
> function Ec(a) {
1007,1008c1007,1008
<     var b = a.replace(Cc, Dc);
<     K[b] = new J(b, 1, !1, a, null);
---
>     var b = a.replace(Dc, Ec);
>     J[b] = new I(b, 1, !1, a, null);
1013,1014c1013,1014
<     var b = a.replace(Cc, Dc);
<     K[b] = new J(b, 1, !1, a, "http://www.w3.org/1999/xlink");
---
>     var b = a.replace(Dc, Ec);
>     J[b] = new I(b, 1, !1, a, "http://www.w3.org/1999/xlink");
1017,1018c1017,1018
<   var b = a.replace(Cc, Dc);
<   K[b] = new J(b, 1, !1, a, "http://www.w3.org/XML/1998/namespace");
---
>   var b = a.replace(Dc, Ec);
>   J[b] = new I(b, 1, !1, a, "http://www.w3.org/XML/1998/namespace");
1020,1022c1020,1022
< K.tabIndex = new J("tabIndex", 1, !1, "tabindex", null);
< function Ec(a, b, c, d) {
<   var e = K.hasOwnProperty(b) ? K[b] : null;
---
> J.tabIndex = new I("tabIndex", 1, !1, "tabindex", null);
> function Fc(a, b, c, d) {
>   var e = J.hasOwnProperty(b) ? J[b] : null;
1034c1034
<     (Bc(b, c, e, d) && (c = null),
---
>     (Cc(b, c, e, d) && (c = null),
1036c1036
<       ? zc(b) && (null === c ? a.removeAttribute(b) : a.setAttribute(b, "" + c))
---
>       ? Ac(b) && (null === c ? a.removeAttribute(b) : a.setAttribute(b, "" + c))
1047c1047
< function Fc(a, b) {
---
> function Gc(a, b) {
1056c1056
< function Gc(a, b) {
---
> function Hc(a, b) {
1059c1059
<   c = Hc(null != b.value ? b.value : c);
---
>   c = Ic(null != b.value ? b.value : c);
1069c1069
< function Ic(a, b) {
---
> function Jc(a, b) {
1071c1071
<   null != b && Ec(a, "checked", b, !1);
---
>   null != b && Fc(a, "checked", b, !1);
1073,1075c1073,1075
< function Jc(a, b) {
<   Ic(a, b);
<   var c = Hc(b.value);
---
> function Kc(a, b) {
>   Jc(a, b);
>   var c = Ic(b.value);
1081,1082c1081,1082
<     ? Kc(a, b.type, c)
<     : b.hasOwnProperty("defaultValue") && Kc(a, b.type, Hc(b.defaultValue));
---
>     ? Lc(a, b.type, c)
>     : b.hasOwnProperty("defaultValue") && Lc(a, b.type, Ic(b.defaultValue));
1087c1087
< function Lc(a, b) {
---
> function Mc(a, b) {
1097c1097
< function Kc(a, b, c) {
---
> function Lc(a, b, c) {
1103c1103
< function Hc(a) {
---
> function Ic(a) {
1115c1115
< var Mc = {
---
> var Nc = {
1126,1127c1126,1127
< function Nc(a, b, c) {
<   a = H.getPooled(Mc.change, a, b, c);
---
> function Oc(a, b, c) {
>   a = H.getPooled(Nc.change, a, b, c);
1130c1130
<   Ya(a);
---
>   Xa(a);
1133,1135c1133,1135
< var Oc = null,
<   Pc = null;
< function Qc(a) {
---
> var Pc = null,
>   Qc = null;
> function Rc(a) {
1138c1138
< function Rc(a) {
---
> function Sc(a) {
1142c1142
< function Sc(a, b) {
---
> function Tc(a, b) {
1145c1145
< var Tc = !1;
---
> var Uc = !1;
1147,1149c1147,1149
<   (Tc = $b("input") && (!document.documentMode || 9 < document.documentMode));
< function Uc() {
<   Oc && (Oc.detachEvent("onpropertychange", Vc), (Pc = Oc = null));
---
>   (Uc = $b("input") && (!document.documentMode || 9 < document.documentMode));
> function Vc() {
>   Pc && (Pc.detachEvent("onpropertychange", Wc), (Qc = Pc = null));
1151,1152c1151,1152
< function Vc(a) {
<   "value" === a.propertyName && Rc(Pc) && ((a = Nc(Pc, a, Zb(a))), Wb(Qc, a));
---
> function Wc(a) {
>   "value" === a.propertyName && Sc(Qc) && ((a = Oc(Qc, a, Zb(a))), Wb(Rc, a));
1154c1154
< function Wc(a, b, c) {
---
> function Xc(a, b, c) {
1156,1157c1156,1157
<     ? (Uc(), (Oc = b), (Pc = c), Oc.attachEvent("onpropertychange", Vc))
<     : "blur" === a && Uc();
---
>     ? (Vc(), (Pc = b), (Qc = c), Pc.attachEvent("onpropertychange", Wc))
>     : "blur" === a && Vc();
1159c1159
< function Xc(a) {
---
> function Yc(a) {
1161,1164c1161
<     return Rc(Pc);
< }
< function Yc(a, b) {
<   if ("click" === a) return Rc(b);
---
>     return Sc(Qc);
1167c1164
<   if ("input" === a || "change" === a) return Rc(b);
---
>   if ("click" === a) return Sc(b);
1169,1171c1166,1171
< var $c = {
<     eventTypes: Mc,
<     _isInputEventSupported: Tc,
---
> function $c(a, b) {
>   if ("input" === a || "change" === a) return Sc(b);
> }
> var ad = {
>     eventTypes: Nc,
>     _isInputEventSupported: Uc,
1178c1178
<         ? (f = Sc)
---
>         ? (f = Tc)
1180,1182c1180,1182
<           ? Tc
<             ? (f = Zc)
<             : ((f = Xc), (g = Wc))
---
>           ? Uc
>             ? (f = $c)
>             : ((f = Yc), (g = Xc))
1186,1187c1186,1187
<             (f = Yc);
<       if (f && (f = f(a, b))) return Nc(f, c, d);
---
>             (f = Zc);
>       if (f && (f = f(a, b))) return Oc(f, c, d);
1194c1194
<         Kc(e, "number", e.value);
---
>         Lc(e, "number", e.value);
1197c1197
<   ad = H.extend({
---
>   bd = H.extend({
1201c1201
<   bd = {
---
>   cd = {
1207c1207
< function cd(a) {
---
> function dd(a) {
1209c1209
<   return b.getModifierState ? b.getModifierState(a) : (a = bd[a]) ? !!b[a] : !1;
---
>   return b.getModifierState ? b.getModifierState(a) : (a = cd[a]) ? !!b[a] : !1;
1211,1212c1211,1212
< function dd() {
<   return cd;
---
> function ed() {
>   return dd;
1214c1214
< var ed = ad.extend({
---
> var fd = bd.extend({
1225c1225
<     getModifierState: dd,
---
>     getModifierState: ed,
1235c1235
<   fd = ed.extend({
---
>   gd = fd.extend({
1245c1245
<   gd = {
---
>   hd = {
1263,1264c1263,1264
<   hd = {
<     eventTypes: gd,
---
>   id = {
>     eventTypes: hd,
1284c1284
<         (g = ed), (h = gd.mouseLeave), (k = gd.mouseEnter), (n = "mouse");
---
>         (g = fd), (h = hd.mouseLeave), (k = hd.mouseEnter), (n = "mouse");
1286c1286
<         (g = fd), (h = gd.pointerLeave), (k = gd.pointerEnter), (n = "pointer");
---
>         (g = gd), (h = hd.pointerLeave), (k = hd.pointerEnter), (n = "pointer");
1297c1297
<       Za(h, c, f, b);
---
>       Ya(h, c, f, b);
1301c1301
< function id(a) {
---
> function jd(a) {
1310,1312d1309
< function jd(a) {
<   2 !== id(a) ? A("188") : void 0;
< }
1313a1311,1313
>   2 !== jd(a) ? A("188") : void 0;
> }
> function ld(a) {
1315c1315
<   if (!b) return (b = id(a)), 3 === b ? A("188") : void 0, 1 === b ? null : a;
---
>   if (!b) return (b = jd(a)), 3 === b ? A("188") : void 0, 1 === b ? null : a;
1322,1323c1322,1323
<         if (g === c) return jd(e), a;
<         if (g === d) return jd(e), b;
---
>         if (g === c) return kd(e), a;
>         if (g === d) return kd(e), b;
1370,1371c1370,1371
< function ld(a) {
<   a = kd(a);
---
> function md(a) {
>   a = ld(a);
1388,1389c1388,1389
< function md(a) {
<   a = kd(a);
---
> function nd(a) {
>   a = ld(a);
1406c1406
< var nd = H.extend({
---
> var od = H.extend({
1411c1411
<   od = H.extend({
---
>   pd = H.extend({
1416,1417c1416,1417
<   pd = ad.extend({ relatedTarget: null });
< function qd(a) {
---
>   qd = bd.extend({ relatedTarget: null });
> function rd(a) {
1425c1425
< var rd = {
---
> var sd = {
1439c1439
<   sd = {
---
>   td = {
1477c1477
<   td = ad.extend({
---
>   ud = bd.extend({
1480c1480
<         var b = rd[a.key] || a.key;
---
>         var b = sd[a.key] || a.key;
1484c1484
<         ? ((a = qd(a)), 13 === a ? "Enter" : String.fromCharCode(a))
---
>         ? ((a = rd(a)), 13 === a ? "Enter" : String.fromCharCode(a))
1486c1486
<           ? sd[a.keyCode] || "Unidentified"
---
>           ? td[a.keyCode] || "Unidentified"
1496c1496
<     getModifierState: dd,
---
>     getModifierState: ed,
1498c1498
<       return "keypress" === a.type ? qd(a) : 0;
---
>       return "keypress" === a.type ? rd(a) : 0;
1505c1505
<         ? qd(a)
---
>         ? rd(a)
1511,1512c1511,1512
<   ud = ed.extend({ dataTransfer: null }),
<   vd = ad.extend({
---
>   vd = fd.extend({ dataTransfer: null }),
>   wd = bd.extend({
1520c1520
<     getModifierState: dd
---
>     getModifierState: ed
1522,1523c1522,1523
<   wd = H.extend({ propertyName: null, elapsedTime: null, pseudoElement: null }),
<   xd = ed.extend({
---
>   xd = H.extend({ propertyName: null, elapsedTime: null, pseudoElement: null }),
>   yd = fd.extend({
1539c1539
<   yd = [
---
>   zd = [
1581,1583c1581,1583
<   zd = {},
<   Ad = {};
< function Bd(a, b) {
---
>   Ad = {},
>   Bd = {};
> function Cd(a, b) {
1592,1593c1592,1593
<   zd[a] = b;
<   Ad[c] = b;
---
>   Ad[a] = b;
>   Bd[c] = b;
1630c1630
<   Bd(a, !0);
---
>   Cd(a, !0);
1632,1633c1632,1633
< yd.forEach(function(a) {
<   Bd(a, !1);
---
> zd.forEach(function(a) {
>   Cd(a, !1);
1635,1636c1635,1636
< var Cd = {
<     eventTypes: zd,
---
> var Dd = {
>     eventTypes: Ad,
1638c1638
<       a = Ad[a];
---
>       a = Bd[a];
1642c1642
<       var e = Ad[a];
---
>       var e = Bd[a];
1646c1646
<           if (0 === qd(c)) return null;
---
>           if (0 === rd(c)) return null;
1649c1649
<           a = td;
---
>           a = ud;
1653c1653
<           a = pd;
---
>           a = qd;
1664c1664
<           a = ed;
---
>           a = fd;
1674c1674
<           a = ud;
---
>           a = vd;
1680c1680
<           a = vd;
---
>           a = wd;
1685c1685
<           a = nd;
---
>           a = od;
1688c1688
<           a = wd;
---
>           a = xd;
1691c1691
<           a = ad;
---
>           a = bd;
1694c1694
<           a = xd;
---
>           a = yd;
1699c1699
<           a = od;
---
>           a = pd;
1709c1709
<           a = fd;
---
>           a = gd;
1715c1715
<       Ya(b);
---
>       Xa(b);
1719,1721c1719,1721
<   Dd = Cd.isInteractiveTopLevelEventType,
<   Ed = [];
< function Fd(a) {
---
>   Ed = Dd.isInteractiveTopLevelEventType,
>   Fd = [];
> function Gd(a) {
1739c1739
< var Gd = !0;
---
> var Hd = !0;
1741c1741
<   Gd = !!a;
---
>   Hd = !!a;
1743c1743
< function L(a, b) {
---
> function K(a, b) {
1745c1745
<   var c = (Dd(a) ? Jd : Kd).bind(null, a);
---
>   var c = (Ed(a) ? Jd : Ld).bind(null, a);
1748c1748
< function Ld(a, b) {
---
> function Md(a, b) {
1750c1750
<   var c = (Dd(a) ? Jd : Kd).bind(null, a);
---
>   var c = (Ed(a) ? Jd : Ld).bind(null, a);
1754c1754
<   Tb(Kd, a, b);
---
>   Tb(Ld, a, b);
1756,1757c1756,1757
< function Kd(a, b) {
<   if (Gd) {
---
> function Ld(a, b) {
>   if (Hd) {
1760,1762c1760,1762
<     null === c || "number" !== typeof c.tag || 2 === id(c) || (c = null);
<     if (Ed.length) {
<       var d = Ed.pop();
---
>     null === c || "number" !== typeof c.tag || 2 === jd(c) || (c = null);
>     if (Fd.length) {
>       var d = Fd.pop();
1770c1770
<       Wb(Fd, a);
---
>       Wb(Gd, a);
1776c1776
<         10 > Ed.length && Ed.push(a);
---
>         10 > Fd.length && Fd.push(a);
1780c1780
< var Md = {
---
> var Nd = {
1782c1782
<       return Gd;
---
>       return Hd;
1786c1786
<       return Gd;
---
>       return Hd;
1788,1790c1788,1790
<     trapBubbledEvent: L,
<     trapCapturedEvent: Ld,
<     dispatchEvent: Kd
---
>     trapBubbledEvent: K,
>     trapCapturedEvent: Md,
>     dispatchEvent: Ld
1792,1799c1792,1794
<   Nd = {},
<   Od = 0,
<   Pd = "_reactListenersID" + ("" + Math.random()).slice(2);
< function Qd(a) {
<   Object.prototype.hasOwnProperty.call(a, Pd) ||
<     ((a[Pd] = Od++), (Nd[a[Pd]] = {}));
<   return Nd[a[Pd]];
< }
---
>   Od = {},
>   Pd = 0,
>   Qd = "_reactListenersID" + ("" + Math.random()).slice(2);
1800a1796,1800
>   Object.prototype.hasOwnProperty.call(a, Qd) ||
>     ((a[Qd] = Pd++), (Od[a[Qd]] = {}));
>   return Od[a[Qd]];
> }
> function Sd(a) {
1804,1805c1804,1805
< function Sd(a, b) {
<   var c = Rd(a);
---
> function Td(a, b) {
>   var c = Sd(a);
1823c1823
<     c = Rd(c);
---
>     c = Sd(c);
1826c1826
< function Td(a) {
---
> function Ud(a) {
1835c1835
< var Ud =
---
> var Vd =
1837c1837
<   Vd = {
---
>   Wd = {
1848d1847
<   Wd = null,
1851,1855c1850,1855
<   Zd = !1;
< function $d(a, b) {
<   if (Zd || null == Wd || Wd !== da()) return null;
<   var c = Wd;
<   "selectionStart" in c && Td(c)
---
>   Zd = null,
>   $d = !1;
> function ae(a, b) {
>   if ($d || null == Xd || Xd !== da()) return null;
>   var c = Xd;
>   "selectionStart" in c && Ud(c)
1866c1866
<   return Yd && ea(Yd, c)
---
>   return Zd && ea(Zd, c)
1868,1869c1868,1869
<     : ((Yd = c),
<       (a = H.getPooled(Vd.select, Xd, a, b)),
---
>     : ((Zd = c),
>       (a = H.getPooled(Wd.select, Yd, a, b)),
1871,1872c1871,1872
<       (a.target = Wd),
<       Ya(a),
---
>       (a.target = Xd),
>       Xa(a),
1875,1876c1875,1876
< var ae = {
<   eventTypes: Vd,
---
> var be = {
>   eventTypes: Wd,
1883c1883
<         e = Qd(e);
---
>         e = Rd(e);
1901c1901
<           (Wd = e), (Xd = b), (Yd = null);
---
>           (Xd = e), (Yd = b), (Zd = null);
1904c1904
<         Yd = Xd = Wd = null;
---
>         Zd = Yd = Xd = null;
1907c1907
<         Zd = !0;
---
>         $d = !0;
1911c1911
<         return (Zd = !1), $d(c, d);
---
>         return ($d = !1), ae(c, d);
1913c1913
<         if (Ud) break;
---
>         if (Vd) break;
1916c1916
<         return $d(c, d);
---
>         return ae(c, d);
1930,1933c1930,1933
<   SimpleEventPlugin: Cd,
<   EnterLeaveEventPlugin: hd,
<   ChangeEventPlugin: $c,
<   SelectEventPlugin: ae,
---
>   SimpleEventPlugin: Dd,
>   EnterLeaveEventPlugin: id,
>   ChangeEventPlugin: ad,
>   SelectEventPlugin: be,
1936,1937c1936,1937
< var be = void 0;
< be =
---
> var ce = void 0;
> ce =
1945,1946c1945,1946
< var ce = void 0,
<   de = void 0;
---
> var de = void 0,
>   ee = void 0;
1948,1952c1948,1951
<   var ee = [],
<     fe = 0,
<     ge = {},
<     he = -1,
<     ie = !1,
---
>   var fe = [],
>     ge = 0,
>     he = {},
>     ie = -1,
1954,1955c1953,1954
<     ke = 0,
<     le = 33,
---
>     ke = !1,
>     le = 0,
1957c1956,1957
<     ne = {
---
>     ne = 33,
>     oe = {
1960c1960
<         var a = ke - be();
---
>         var a = le - ce();
1964,1965c1964,1965
<     oe = function(a, b) {
<       if (ge[b])
---
>     pe = function(a, b) {
>       if (he[b])
1967c1967
<           a(ne);
---
>           a(oe);
1969c1969
<           delete ge[b];
---
>           delete he[b];
1972c1972
<     pe =
---
>     qe =
1982,1983c1982,1983
<         a.data === pe &&
<         ((ie = !1), 0 !== ee.length)
---
>         a.data === qe &&
>         ((je = !1), 0 !== fe.length)
1985,1989c1985,1989
<         if (0 !== ee.length && ((a = be()), !(-1 === he || he > a))) {
<           he = -1;
<           ne.didTimeout = !0;
<           for (var b = 0, c = ee.length; b < c; b++) {
<             var d = ee[b],
---
>         if (0 !== fe.length && ((a = ce()), !(-1 === ie || ie > a))) {
>           ie = -1;
>           oe.didTimeout = !0;
>           for (var b = 0, c = fe.length; b < c; b++) {
>             var d = fe[b],
1992,1993c1992,1993
<               ? oe(d.scheduledCallback, d.callbackId)
<               : -1 !== e && (-1 === he || e < he) && (he = e);
---
>               ? pe(d.scheduledCallback, d.callbackId)
>               : -1 !== e && (-1 === ie || e < ie) && (ie = e);
1996,2001c1996,2001
<         for (a = be(); 0 < ke - a && 0 < ee.length; )
<           (a = ee.shift()),
<             (ne.didTimeout = !1),
<             oe(a.scheduledCallback, a.callbackId),
<             (a = be());
<         0 < ee.length && !je && ((je = !0), requestAnimationFrame(qe));
---
>         for (a = ce(); 0 < le - a && 0 < fe.length; )
>           (a = fe.shift()),
>             (oe.didTimeout = !1),
>             pe(a.scheduledCallback, a.callbackId),
>             (a = ce());
>         0 < fe.length && !ke && ((ke = !0), requestAnimationFrame(re));
2006,2011c2006,2011
<   var qe = function(a) {
<     je = !1;
<     var b = a - ke + me;
<     b < me && le < me ? (8 > b && (b = 8), (me = b < le ? le : b)) : (le = b);
<     ke = a + me;
<     ie || ((ie = !0), window.postMessage(pe, "*"));
---
>   var re = function(a) {
>     ke = !1;
>     var b = a - le + ne;
>     b < ne && me < ne ? (8 > b && (b = 8), (ne = b < me ? me : b)) : (me = b);
>     le = a + ne;
>     je || ((je = !0), window.postMessage(qe, "*"));
2013c2013
<   ce = function(a, b) {
---
>   de = function(a, b) {
2015,2019c2015,2019
<     null != b && "number" === typeof b.timeout && (c = be() + b.timeout);
<     if (-1 === he || (-1 !== c && c < he)) he = c;
<     fe++;
<     b = fe;
<     ee.push({
---
>     null != b && "number" === typeof b.timeout && (c = ce() + b.timeout);
>     if (-1 === ie || (-1 !== c && c < ie)) ie = c;
>     ge++;
>     b = ge;
>     fe.push({
2024,2025c2024,2025
<     ge[b] = !0;
<     je || ((je = !0), requestAnimationFrame(qe));
---
>     he[b] = !0;
>     ke || ((ke = !0), requestAnimationFrame(re));
2028,2029c2028,2029
<   de = function(a) {
<     delete ge[a];
---
>   ee = function(a) {
>     delete he[a];
2032,2035c2032,2035
<   var re = 0,
<     se = {};
<   ce = function(a) {
<     var b = re++,
---
>   var se = 0,
>     te = {};
>   de = function(a) {
>     var b = se++,
2044c2044
<     se[b] = c;
---
>     te[b] = c;
2047,2049c2047,2049
<   de = function(a) {
<     var b = se[a];
<     delete se[a];
---
>   ee = function(a) {
>     var b = te[a];
>     delete te[a];
2053c2053
< function te(a) {
---
> function ue(a) {
2055c2055
<   ca.Children.forEach(a, function(a) {
---
>   ba.Children.forEach(a, function(a) {
2060c2060
< function ue(a, b) {
---
> function ve(a, b) {
2062c2062
<   if ((b = te(b.children))) a.children = b;
---
>   if ((b = ue(b.children))) a.children = b;
2065c2065
< function ve(a, b, c, d) {
---
> function we(a, b, c, d) {
2088c2088
< function we(a, b) {
---
> function xe(a, b) {
2095c2095
< function xe(a, b) {
---
> function ye(a, b) {
2103c2103
< function ye(a, b) {
---
> function ze(a, b) {
2115c2115
< function ze(a, b) {
---
> function Ae(a, b) {
2123c2123
< function Ae(a) {
---
> function Be(a) {
2127c2127
< var Be = {
---
> var Ce = {
2132c2132
< function Ce(a) {
---
> function De(a) {
2142c2142
< function De(a, b) {
---
> function Ee(a, b) {
2144c2144
<     ? Ce(b)
---
>     ? De(b)
2149,2150c2149,2150
< var Ee = void 0,
<   Fe = (function(a) {
---
> var Fe = void 0,
>   Ge = (function(a) {
2159c2159
<     if (a.namespaceURI !== Be.svg || "innerHTML" in a) a.innerHTML = b;
---
>     if (a.namespaceURI !== Ce.svg || "innerHTML" in a) a.innerHTML = b;
2161,2163c2161,2163
<       Ee = Ee || document.createElement("div");
<       Ee.innerHTML = "<svg>" + b + "</svg>";
<       for (b = Ee.firstChild; a.firstChild; ) a.removeChild(a.firstChild);
---
>       Fe = Fe || document.createElement("div");
>       Fe.innerHTML = "<svg>" + b + "</svg>";
>       for (b = Fe.firstChild; a.firstChild; ) a.removeChild(a.firstChild);
2167c2167
< function Ge(a, b) {
---
> function He(a, b) {
2177c2177
< var He = {
---
> var Ie = {
2220,2222c2220,2222
<   Ie = ["Webkit", "ms", "Moz", "O"];
< Object.keys(He).forEach(function(a) {
<   Ie.forEach(function(b) {
---
>   Je = ["Webkit", "ms", "Moz", "O"];
> Object.keys(Ie).forEach(function(a) {
>   Je.forEach(function(b) {
2224c2224
<     He[b] = He[a];
---
>     Ie[b] = Ie[a];
2227c2227
< function Je(a, b) {
---
> function Ke(a, b) {
2240c2240
<             (He.hasOwnProperty(e) && He[e])
---
>             (Ie.hasOwnProperty(e) && Ie[e])
2247c2247
< var Ke = p(
---
> var Le = p(
2267c2267
< function Le(a, b, c) {
---
> function Me(a, b, c) {
2269c2269
<     (Ke[a] &&
---
>     (Le[a] &&
2281c2281
< function Me(a, b) {
---
> function Ne(a, b) {
2297,2298c2297,2298
< var Ne = v.thatReturns("");
< function Oe(a, b) {
---
> var Oe = v.thatReturns("");
> function Pe(a, b) {
2300c2300
<   var c = Qd(a);
---
>   var c = Rd(a);
2307c2307
<           Ld("scroll", a);
---
>           Md("scroll", a);
2311,2312c2311,2312
<           Ld("focus", a);
<           Ld("blur", a);
---
>           Md("focus", a);
>           Md("blur", a);
2318c2318
<           $b(e, !0) && Ld(e, a);
---
>           $b(e, !0) && Md(e, a);
2325c2325
<           -1 === jb.indexOf(e) && L(e, a);
---
>           -1 === jb.indexOf(e) && K(e, a);
2331c2331
< function Pe(a, b, c, d) {
---
> function Qe(a, b, c, d) {
2333,2334c2333,2334
<   d === Be.html && (d = Ce(a));
<   d === Be.html
---
>   d === Ce.html && (d = De(a));
>   d === Ce.html
2346c2346
< function Qe(a, b) {
---
> function Re(a, b) {
2349,2350c2349,2350
< function Re(a, b, c, d) {
<   var e = Me(b, c);
---
> function Se(a, b, c, d) {
>   var e = Ne(b, c);
2354c2354
<       L("load", a);
---
>       K("load", a);
2359c2359
<       for (f = 0; f < jb.length; f++) L(jb[f], a);
---
>       for (f = 0; f < jb.length; f++) K(jb[f], a);
2363c2363
<       L("error", a);
---
>       K("error", a);
2369,2370c2369,2370
<       L("error", a);
<       L("load", a);
---
>       K("error", a);
>       K("load", a);
2374,2375c2374,2375
<       L("reset", a);
<       L("submit", a);
---
>       K("reset", a);
>       K("submit", a);
2379c2379
<       L("toggle", a);
---
>       K("toggle", a);
2383,2386c2383,2386
<       Gc(a, c);
<       f = Fc(a, c);
<       L("invalid", a);
<       Oe(d, "onChange");
---
>       Hc(a, c);
>       f = Gc(a, c);
>       K("invalid", a);
>       Pe(d, "onChange");
2389c2389
<       f = ue(a, c);
---
>       f = ve(a, c);
2392c2392
<       we(a, c);
---
>       xe(a, c);
2394,2395c2394,2395
<       L("invalid", a);
<       Oe(d, "onChange");
---
>       K("invalid", a);
>       Pe(d, "onChange");
2398,2401c2398,2401
<       ye(a, c);
<       f = xe(a, c);
<       L("invalid", a);
<       Oe(d, "onChange");
---
>       ze(a, c);
>       f = ye(a, c);
>       K("invalid", a);
>       Pe(d, "onChange");
2406c2406
<   Le(b, f, Ne);
---
>   Me(b, f, Oe);
2413c2413
<         ? Je(a, k, Ne)
---
>         ? Ke(a, k, Oe)
2415c2415
<           ? ((k = k ? k.__html : void 0), null != k && Fe(a, k))
---
>           ? ((k = k ? k.__html : void 0), null != k && Ge(a, k))
2418,2419c2418,2419
<               ? ("textarea" !== b || "" !== k) && Ge(a, k)
<               : "number" === typeof k && Ge(a, "" + k)
---
>               ? ("textarea" !== b || "" !== k) && He(a, k)
>               : "number" === typeof k && He(a, "" + k)
2424,2425c2424,2425
<                 ? null != k && Oe(d, h)
<                 : null != k && Ec(a, h, k, e));
---
>                 ? null != k && Pe(d, h)
>                 : null != k && Fc(a, h, k, e));
2430c2430
<       Lc(a, c);
---
>       Mc(a, c);
2434c2434
<       Ae(a, c);
---
>       Be(a, c);
2443,2444c2443,2444
<         ? ve(a, !!c.multiple, b, !1)
<         : null != c.defaultValue && ve(a, !!c.multiple, c.defaultValue, !0);
---
>         ? we(a, !!c.multiple, b, !1)
>         : null != c.defaultValue && we(a, !!c.multiple, c.defaultValue, !0);
2450c2450
< function Se(a, b, c, d, e) {
---
> function Te(a, b, c, d, e) {
2454,2455c2454,2455
<       c = Fc(a, c);
<       d = Fc(a, d);
---
>       c = Gc(a, c);
>       d = Gc(a, d);
2459,2460c2459,2460
<       c = ue(a, c);
<       d = ue(a, d);
---
>       c = ve(a, c);
>       d = ve(a, d);
2469,2470c2469,2470
<       c = xe(a, c);
<       d = xe(a, d);
---
>       c = ye(a, c);
>       d = ye(a, d);
2478c2478
<   Le(b, d, Ne);
---
>   Me(b, d, Oe);
2520c2520
<                 ? (null != k && Oe(e, a), f || h === k || (f = []))
---
>                 ? (null != k && Pe(e, a), f || h === k || (f = []))
2526,2529c2526,2529
< function Te(a, b, c, d, e) {
<   "input" === c && "radio" === e.type && null != e.name && Ic(a, e);
<   Me(c, d);
<   d = Me(c, e);
---
> function Ue(a, b, c, d, e) {
>   "input" === c && "radio" === e.type && null != e.name && Jc(a, e);
>   Ne(c, d);
>   d = Ne(c, e);
2534c2534
<       ? Je(a, h, Ne)
---
>       ? Ke(a, h, Oe)
2536c2536
<         ? Fe(a, h)
---
>         ? Ge(a, h)
2538,2539c2538,2539
<           ? Ge(a, h)
<           : Ec(a, g, h, d);
---
>           ? He(a, h)
>           : Fc(a, g, h, d);
2543c2543
<       Jc(a, e);
---
>       Kc(a, e);
2546c2546
<       ze(a, e);
---
>       Ae(a, e);
2554c2554
<           ? ve(a, !!e.multiple, c, !1)
---
>           ? we(a, !!e.multiple, c, !1)
2557,2558c2557,2558
<               ? ve(a, !!e.multiple, e.defaultValue, !0)
<               : ve(a, !!e.multiple, e.multiple ? [] : "", !1));
---
>               ? we(a, !!e.multiple, e.defaultValue, !0)
>               : we(a, !!e.multiple, e.multiple ? [] : "", !1));
2561c2561
< function Ue(a, b, c, d, e) {
---
> function Ve(a, b, c, d, e) {
2565c2565
<       L("load", a);
---
>       K("load", a);
2569c2569
<       for (d = 0; d < jb.length; d++) L(jb[d], a);
---
>       for (d = 0; d < jb.length; d++) K(jb[d], a);
2572c2572
<       L("error", a);
---
>       K("error", a);
2577,2578c2577,2578
<       L("error", a);
<       L("load", a);
---
>       K("error", a);
>       K("load", a);
2581,2582c2581,2582
<       L("reset", a);
<       L("submit", a);
---
>       K("reset", a);
>       K("submit", a);
2585c2585
<       L("toggle", a);
---
>       K("toggle", a);
2588,2590c2588,2590
<       Gc(a, c);
<       L("invalid", a);
<       Oe(e, "onChange");
---
>       Hc(a, c);
>       K("invalid", a);
>       Pe(e, "onChange");
2593,2595c2593,2595
<       we(a, c);
<       L("invalid", a);
<       Oe(e, "onChange");
---
>       xe(a, c);
>       K("invalid", a);
>       Pe(e, "onChange");
2598c2598
<       ye(a, c), L("invalid", a), Oe(e, "onChange");
---
>       ze(a, c), K("invalid", a), Pe(e, "onChange");
2600c2600
<   Le(b, c, Ne);
---
>   Me(b, c, Oe);
2611c2611
<         : ra.hasOwnProperty(f) && null != g && Oe(e, f);
---
>         : ra.hasOwnProperty(f) && null != g && Pe(e, f);
2616c2616
<       Lc(a, c);
---
>       Mc(a, c);
2620c2620
<       Ae(a, c);
---
>       Be(a, c);
2630c2630
< function Ve(a, b) {
---
> function We(a, b) {
2633,2640c2633,2640
< var We = {
<     createElement: Pe,
<     createTextNode: Qe,
<     setInitialProperties: Re,
<     diffProperties: Se,
<     updateProperties: Te,
<     diffHydratedProperties: Ue,
<     diffHydratedText: Ve,
---
> var Xe = {
>     createElement: Qe,
>     createTextNode: Re,
>     setInitialProperties: Se,
>     diffProperties: Te,
>     updateProperties: Ue,
>     diffHydratedProperties: Ve,
>     diffHydratedText: We,
2649c2649
<           Jc(a, c);
---
>           Kc(a, c);
2662c2662
<                 Jc(d, e);
---
>                 Kc(d, e);
2668c2668
<           ze(a, c);
---
>           Ae(a, c);
2671c2671
<           (b = c.value), null != b && ve(a, !!c.multiple, b, !1);
---
>           (b = c.value), null != b && we(a, !!c.multiple, b, !1);
2675,2677c2675,2677
<   Xe = null,
<   Ye = null;
< function Ze(a, b) {
---
>   Ye = null,
>   Ze = null;
> function $e(a, b) {
2687c2687
< function $e(a, b) {
---
> function af(a, b) {
2697,2699c2697,2699
< var af = be,
<   bf = ce,
<   cf = de;
---
> var L = ce,
>   bf = de,
>   cf = ee;
2765c2765
<   for (var e in c) e in d ? void 0 : A("108", tc(a) || "Unknown", e);
---
>   for (var e in c) e in d ? void 0 : A("108", uc(a) || "Unknown", e);
2801a2802
>   this.treeBaseTime = this.selfBaseTime = 0;
2823a2825,2826
>   d.selfBaseTime = a.selfBaseTime;
>   d.treeBaseTime = a.treeBaseTime;
2835c2838
<       case hc:
---
>       case ic:
2837c2840
<       case oc:
---
>       case nc:
2841c2844
<       case ic:
---
>       case jc:
2845c2848
<       case jc:
---
>       case kc:
2848c2851
<           (d.type = jc),
---
>           (d.type = kc),
2849a2853,2857
>           (d.stateNode = {
>             elapsedPauseTimeAtStart: 0,
>             duration: 0,
>             startTime: 0
>           }),
2852c2860
<       case qc:
---
>       case rc:
2859c2867
<             case mc:
---
>             case lc:
2862c2870
<             case nc:
---
>             case mc:
2865c2873
<             case pc:
---
>             case qc:
3157c3165
<       b = (b = b.documentElement) ? b.namespaceURI : De(null, "");
---
>       b = (b = b.documentElement) ? b.namespaceURI : Ee(null, "");
3163c3171
<         (b = De(b, c));
---
>         (b = Ee(b, c));
3176c3184,3200
< function hg(a, b, c) {
---
> var gg = 0,
>   hg = 0,
>   ig = 0;
> function jg(a) {
>   a = a.stateNode;
>   a.elapsedPauseTimeAtStart = ig;
>   a.startTime = L();
> }
> function kg(a) {
>   a = a.stateNode;
>   a.duration += L() - (ig - a.elapsedPauseTimeAtStart) - a.startTime;
> }
> function lg() {
>   0 < hg && ((ig += L() - hg), (hg = 0));
> }
> var mg = -1;
> function og(a, b, c) {
3184c3208
< var lg = {
---
> var sg = {
3186c3210
<     return (a = a._reactInternalFiber) ? 2 === id(a) : !1;
---
>     return (a = a._reactInternalFiber) ? 2 === jd(a) : !1;
3190,3191c3214,3215
<     var d = ig();
<     d = jg(d, a);
---
>     var d = pg();
>     d = qg(d, a);
3196c3220
<     kg(a, d);
---
>     rg(a, d);
3200,3201c3224,3225
<     var d = ig();
<     d = jg(d, a);
---
>     var d = pg();
>     d = qg(d, a);
3207c3231
<     kg(a, d);
---
>     rg(a, d);
3211,3212c3235,3236
<     var c = ig();
<     c = jg(c, a);
---
>     var c = pg();
>     c = qg(c, a);
3217c3241
<     kg(a, c);
---
>     rg(a, c);
3220c3244
< function mg(a, b, c, d, e, f) {
---
> function tg(a, b, c, d, e, f) {
3229c3253
< function ng(a, b, c, d) {
---
> function ug(a, b, c, d) {
3235c3259
<   b.state !== a && lg.enqueueReplaceState(b, b.state, null);
---
>   b.state !== a && sg.enqueueReplaceState(b, b.state, null);
3237c3261
< function og(a, b) {
---
> function vg(a, b) {
3249c3273
<   "function" === typeof f && (hg(a, f, e), (d.state = a.memoizedState));
---
>   "function" === typeof f && (og(a, f, e), (d.state = a.memoizedState));
3258c3282
<     c !== d.state && lg.enqueueReplaceState(d, d.state, null),
---
>     c !== d.state && sg.enqueueReplaceState(d, d.state, null),
3263,3264c3287,3288
< var pg = Array.isArray;
< function qg(a, b, c) {
---
> var wg = Array.isArray;
> function xg(a, b, c) {
3292c3316
< function rg(a, b) {
---
> function yg(a, b) {
3302c3326
< function sg(a) {
---
> function zg(a) {
3350c3374
<       return (d = e(b, c.props, d)), (d.ref = qg(a, b, c)), (d.return = a), d;
---
>       return (d = e(b, c.props, d)), (d.ref = xg(a, b, c)), (d.return = a), d;
3352c3376
<     d.ref = qg(a, b, c);
---
>     d.ref = xg(a, b, c);
3380c3404
<         case fc:
---
>         case gc:
3382c3406
<             (c = wf(b, a.mode, c)), (c.ref = qg(a, null, b)), (c.return = a), c
---
>             (c = wf(b, a.mode, c)), (c.ref = xg(a, null, b)), (c.return = a), c
3384c3408
<         case gc:
---
>         case hc:
3387c3411
<       if (pg(b) || sc(b))
---
>       if (wg(b) || tc(b))
3389c3413
<       rg(a, b);
---
>       yg(a, b);
3399c3423
<         case fc:
---
>         case gc:
3401c3425
<             ? c.type === hc
---
>             ? c.type === ic
3405c3429
<         case gc:
---
>         case hc:
3408,3409c3432,3433
<       if (pg(c) || sc(c)) return null !== e ? null : r(a, b, c, d, null);
<       rg(a, c);
---
>       if (wg(c) || tc(c)) return null !== e ? null : r(a, b, c, d, null);
>       yg(a, c);
3413c3437
<   function kc(a, b, c, d, e) {
---
>   function oc(a, b, c, d, e) {
3418c3442
<         case fc:
---
>         case gc:
3421c3445
<             d.type === hc ? r(b, a, d.props.children, e, d.key) : k(b, a, d, e)
---
>             d.type === ic ? r(b, a, d.props.children, e, d.key) : k(b, a, d, e)
3423c3447
<         case gc:
---
>         case hc:
3426,3427c3450,3451
<       if (pg(d) || sc(d)) return (a = a.get(c) || null), r(b, a, d, e, null);
<       rg(b, d);
---
>       if (wg(d) || tc(d)) return (a = a.get(c) || null), r(b, a, d, e, null);
>       yg(b, d);
3431c3455
<   function Hd(e, g, h, k) {
---
>   function Kd(e, g, h, k) {
3457c3481
<       if ((n = kc(t, e, q, h[q], k)))
---
>       if ((n = oc(t, e, q, h[q], k)))
3469c3493
<     var t = sc(h);
---
>     var t = tc(h);
3499c3523
<       (l = kc(n, e, x, l.value, k)),
---
>       (l = oc(n, e, x, l.value, k)),
3514c3538
<       f.type === hc &&
---
>       f.type === ic &&
3520c3544
<         case fc:
---
>         case gc:
3525c3549
<                 if (10 === k.tag ? f.type === hc : k.type === f.type) {
---
>                 if (10 === k.tag ? f.type === ic : k.type === f.type) {
3527,3528c3551,3552
<                   d = e(k, f.type === hc ? f.props.children : f.props, h);
<                   d.ref = qg(a, k, f);
---
>                   d = e(k, f.type === ic ? f.props.children : f.props, h);
>                   d.ref = xg(a, k, f);
3539c3563
<             f.type === hc
---
>             f.type === ic
3544c3568
<                 (h.ref = qg(a, d, f)),
---
>                 (h.ref = xg(a, d, f)),
3549c3573
<         case gc:
---
>         case hc:
3584,3586c3608,3610
<     if (pg(f)) return Hd(a, d, f, h);
<     if (sc(f)) return E(a, d, f, h);
<     k && rg(a, f);
---
>     if (wg(f)) return Kd(a, d, f, h);
>     if (tc(f)) return E(a, d, f, h);
>     k && yg(a, f);
3596,3601c3620,3625
< var tg = sg(!0),
<   ug = sg(!1),
<   vg = null,
<   wg = null,
<   xg = !1;
< function yg(a, b) {
---
> var Ag = zg(!0),
>   Bg = zg(!1),
>   Cg = null,
>   Dg = null,
>   Eg = !1;
> function Fg(a, b) {
3611c3635
< function zg(a, b) {
---
> function Gg(a, b) {
3629,3631c3653,3655
< function Ag(a) {
<   if (xg) {
<     var b = wg;
---
> function Hg(a) {
>   if (Eg) {
>     var b = Dg;
3634c3658
<       if (!zg(a, b)) {
---
>       if (!Gg(a, b)) {
3636c3660
<         if (!b || !zg(a, b)) {
---
>         if (!b || !Gg(a, b)) {
3638,3639c3662,3663
<           xg = !1;
<           vg = a;
---
>           Eg = !1;
>           Cg = a;
3642c3666
<         yg(vg, c);
---
>         Fg(Cg, c);
3644,3646c3668,3670
<       vg = a;
<       wg = ef(b);
<     } else (a.effectTag |= 2), (xg = !1), (vg = a);
---
>       Cg = a;
>       Dg = ef(b);
>     } else (a.effectTag |= 2), (Eg = !1), (Cg = a);
3649c3673
< function Bg(a) {
---
> function Ig(a) {
3651c3675
<   vg = a;
---
>   Cg = a;
3653,3655c3677,3679
< function Cg(a) {
<   if (a !== vg) return !1;
<   if (!xg) return Bg(a), (xg = !0), !1;
---
> function Jg(a) {
>   if (a !== Cg) return !1;
>   if (!Eg) return Ig(a), (Eg = !0), !1;
3657,3660c3681,3684
<   if (5 !== a.tag || ("head" !== b && "body" !== b && !$e(b, a.memoizedProps)))
<     for (b = wg; b; ) yg(a, b), (b = df(b));
<   Bg(a);
<   wg = vg ? df(a.stateNode) : null;
---
>   if (5 !== a.tag || ("head" !== b && "body" !== b && !af(b, a.memoizedProps)))
>     for (b = Dg; b; ) Fg(a, b), (b = df(b));
>   Ig(a);
>   Dg = Cg ? df(a.stateNode) : null;
3663,3665c3687,3689
< function Dg() {
<   wg = vg = null;
<   xg = !1;
---
> function Kg() {
>   Dg = Cg = null;
>   Eg = !1;
3668c3692
<   Eg(a, b, c, b.expirationTime);
---
>   Lg(a, b, c, b.expirationTime);
3670,3671c3694,3695
< function Eg(a, b, c, d) {
<   b.child = null === a ? ug(b, null, c, d) : tg(b, a.child, c, d);
---
> function Lg(a, b, c, d) {
>   b.child = null === a ? Bg(b, null, c, d) : Ag(b, a.child, c, d);
3673c3697
< function Fg(a, b) {
---
> function Mg(a, b) {
3678,3679c3702,3703
< function Gg(a, b, c, d, e) {
<   Fg(a, b);
---
> function Ng(a, b, c, d, e) {
>   Mg(a, b);
3684c3708,3711
<   var g = f ? null : c.render();
---
>   if (f) {
>     var g = null;
>     mg = -1;
>   } else g = c.render();
3686,3687c3713,3714
<   f && (Eg(a, b, null, e), (b.child = null));
<   Eg(a, b, g, e);
---
>   f && (Lg(a, b, null, e), (b.child = null));
>   Lg(a, b, g, e);
3693c3720
< function Hg(a) {
---
> function Og(a) {
3700c3727
< function Ig(a, b, c, d) {
---
> function Pg(a, b, c, d) {
3750c3777
< function Jg(a, b, c) {
---
> function Qg(a, b, c) {
3780c3807
<     } else Ig(b, d, h, c);
---
>     } else Pg(b, d, h, c);
3787a3815
>   mg = -1;
3801c3829
< function Kg(a, b, c) {
---
> function Rg(a, b, c) {
3802a3831
>     mg = -1;
3805c3834
<         Hg(b);
---
>         Og(b);
3814a3844,3846
>         break;
>       case 15:
>         jg(b);
3836c3868
<           "function" === typeof f && hg(b, f, e),
---
>           "function" === typeof f && og(b, f, e),
3838c3870
<           (d.updater = lg),
---
>           (d.updater = sg),
3841,3842c3873,3874
<           og(b, c),
<           (a = Gg(a, b, !0, e, c)))
---
>           vg(b, c),
>           (a = Ng(a, b, !0, e, c)))
3872c3904
<           g.updater = lg;
---
>           g.updater = sg;
3879c3911
<           og(b, c);
---
>           vg(b, c);
3896c3928
<             ((k !== f || n !== g) && ng(b, d, f, g));
---
>             ((k !== f || n !== g) && ug(b, d, f, g));
3903,3904c3935,3936
<             ? ("function" === typeof r && (hg(b, r, f), (n = b.memoizedState)),
<               (k = Hf || mg(b, k, f, w, n, g))
---
>             ? ("function" === typeof r && (og(b, r, f), (n = b.memoizedState)),
>               (k = Hf || tg(b, k, f, w, n, g))
3940c3972
<             ((f !== k || n !== g) && ng(b, d, k, g)),
---
>             ((f !== k || n !== g) && ug(b, d, k, g)),
3947,3948c3979,3980
<             ? ("function" === typeof r && (hg(b, r, k), (w = b.memoizedState)),
<               (r = Hf || mg(b, f, k, n, w, g))
---
>             ? ("function" === typeof r && (og(b, r, k), (w = b.memoizedState)),
>               (r = Hf || tg(b, f, k, n, w, g))
3979c4011
<       return Gg(a, b, d, e, c);
---
>       return Ng(a, b, d, e, c);
3981c4013
<       Hg(b);
---
>       Og(b);
3991c4023
<           Dg(), (a = R(a, b));
---
>           Kg(), (a = R(a, b));
3995c4027
<             (wg = ef(b.stateNode.containerInfo)), (vg = b), (d = xg = !0);
---
>             (Dg = ef(b.stateNode.containerInfo)), (Cg = b), (d = Eg = !0);
3997,3998c4029,4030
<             ? ((b.effectTag |= 2), (b.child = ug(b, null, e, c)))
<             : (Dg(), Q(a, b, e));
---
>             ? ((b.effectTag |= 2), (b.child = Bg(b, null, e, c)))
>             : (Kg(), Q(a, b, e));
4001c4033
<       else Dg(), (a = R(a, b));
---
>       else Kg(), (a = R(a, b));
4007c4039
<         d = De(e, b.type);
---
>         d = Ee(e, b.type);
4009c4041
<         null === a && Ag(b);
---
>         null === a && Hg(b);
4022,4023c4054,4055
<         $e(e, d) ? (k = null) : f && $e(e, f) && (b.effectTag |= 16);
<         Fg(a, b);
---
>         af(e, d) ? (k = null) : f && af(e, f) && (b.effectTag |= 16);
>         Mg(a, b);
4030c4062
<       return null === a && Ag(b), (b.memoizedProps = b.pendingProps), null;
---
>       return null === a && Hg(b), (b.memoizedProps = b.pendingProps), null;
4038c4070
<           ? (null === a ? (b.child = tg(b, null, e, c)) : Q(a, b, e),
---
>           ? (null === a ? (b.child = Ag(b, null, e, c)) : Q(a, b, e),
4072a4105,4106
>         jg(b),
>         (b.effectTag |= 4),
4079c4113
<       return Jg(a, b, c);
---
>       return Qg(a, b, c);
4093c4127
<         if (0 !== (g & h)) Ig(b, d, g, c);
---
>         if (0 !== (g & h)) Pg(b, d, g, c);
4109c4143
< function Lg(a) {
---
> function Sg(a) {
4112,4117c4146,4151
< var Pg = void 0,
<   Qg = void 0,
<   Rg = void 0;
< Pg = function() {};
< Qg = function(a, b, c) {
<   (b.updateQueue = c) && Lg(b);
---
> var Wg = void 0,
>   Xg = void 0,
>   Yg = void 0;
> Wg = function() {};
> Xg = function(a, b, c) {
>   (b.updateQueue = c) && Sg(b);
4119,4120c4153,4154
< Rg = function(a, b, c, d) {
<   c !== d && Lg(b);
---
> Yg = function(a, b, c, d) {
>   c !== d && Sg(b);
4122c4156
< function Sg(a, b) {
---
> function Zg(a, b) {
4135,4136c4169,4170
<       if (null === a || null === a.child) Cg(b), (b.effectTag &= -3);
<       Pg(b);
---
>       if (null === a || null === a.child) Jg(b), (b.effectTag &= -3);
>       Wg(b);
4146,4147c4180,4181
<         g = Se(g, e, f, c, d);
<         Qg(a, b, g, e, f, c, d, h);
---
>         g = Te(g, e, f, c, d);
>         Xg(a, b, g, e, f, c, d, h);
4152c4186
<         if (Cg(b))
---
>         if (Jg(b))
4158c4192
<             (d = Ue(c, e, f, a, d)),
---
>             (d = Ve(c, e, f, a, d)),
4160c4194
<             null !== d && Lg(b);
---
>             null !== d && Sg(b);
4162c4196
<           a = Pe(e, c, d, a);
---
>           a = Qe(e, c, d, a);
4180,4181c4214,4215
<           Re(a, e, c, d);
<           Ze(e, c) && Lg(b);
---
>           Se(a, e, c, d);
>           $e(e, c) && Sg(b);
4188c4222
<       if (a && null != b.stateNode) Rg(a, b, a.memoizedProps, c);
---
>       if (a && null != b.stateNode) Yg(a, b, a.memoizedProps, c);
4194c4228
<         Cg(b)
---
>         Jg(b)
4198,4199c4232,4233
<             Ve(d, c) && Lg(b))
<           : ((d = Qe(c, d)), (d[C] = b), (b.stateNode = d));
---
>             We(d, c) && Sg(b))
>           : ((d = Re(c, d)), (d[C] = b), (b.stateNode = d));
4211c4245
<       return null;
---
>       return kg(b), null;
4213c4247
<       return eg(b), Pg(b), null;
---
>       return eg(b), Wg(b), null;
4224c4258
< function Tg(a, b) {
---
> function $g(a, b) {
4227c4261
<   null !== c && tc(c);
---
>   null !== c && uc(c);
4229c4263
<   null !== a && 2 === a.tag && tc(a);
---
>   null !== a && 2 === a.tag && uc(a);
4236c4270
< function Ug(a) {
---
> function ah(a) {
4243c4277
<         Vg(a, c);
---
>         bh(a, c);
4247c4281
< function Wg(a) {
---
> function ch(a) {
4251c4285
<       Ug(a);
---
>       ah(a);
4259c4293
<           Vg(a, c);
---
>           bh(a, c);
4263c4297
<       Ug(a);
---
>       ah(a);
4266c4300
<       Xg(a);
---
>       dh(a);
4269c4303
< function Yg(a) {
---
> function eh(a) {
4272c4306
< function Zg(a) {
---
> function fh(a) {
4275c4309
<       if (Yg(b)) {
---
>       if (eh(b)) {
4301c4335
<   c.effectTag & 16 && (Ge(b, ""), (c.effectTag &= -17));
---
>   c.effectTag & 16 && (He(b, ""), (c.effectTag &= -17));
4304c4338
<       if (null === c.return || Yg(c.return)) {
---
>       if (null === c.return || eh(c.return)) {
4354c4388
< function Xg(a) {
---
> function dh(a) {
4380c4414
<         if ((Wg(g), null !== g.child && 4 !== g.tag))
---
>         if ((ch(g), null !== g.child && 4 !== g.tag))
4397c4431
<       (4 === b.tag ? (d = b.stateNode.containerInfo) : Wg(b), null !== b.child)
---
>       (4 === b.tag ? (d = b.stateNode.containerInfo) : ch(b), null !== b.child)
4413c4447
< function $g(a, b) {
---
> function gh(a, b) {
4425c4459
<         null !== f && ((c[Ma] = d), Te(c, f, e, a, d));
---
>         null !== f && ((c[Ma] = d), Ue(c, f, e, a, d));
4434a4469,4478
>       c = b.memoizedProps.onRender;
>       c(
>         b.memoizedProps.id,
>         null === a ? "mount" : "update",
>         b.stateNode.duration,
>         b.treeBaseTime,
>         b.stateNode.startTime,
>         gg
>       );
>       b.stateNode.duration = 0;
4442c4486
< function ah(a, b, c) {
---
> function hh(a, b, c) {
4448,4449c4492,4493
<     bh(d);
<     Tg(a, b);
---
>     ih(d);
>     $g(a, b);
4453c4497
< function ch(a, b, c) {
---
> function jh(a, b, c) {
4460c4504
<       null === dh ? (dh = new Set([this])) : dh.add(this);
---
>       null === kh ? (kh = new Set([this])) : kh.add(this);
4463c4507
<       Tg(a, b);
---
>       $g(a, b);
4468c4512
< function eh(a, b, c, d, e, f) {
---
> function lh(a, b, c, d, e, f) {
4477c4521
<         d = ah(a, d, f);
---
>         d = hh(a, d, f);
4487c4531
<             (null === dh || !dh.has(c)))
---
>             (null === kh || !kh.has(c)))
4490c4534
<           d = ch(a, b, f);
---
>           d = jh(a, b, f);
4498c4542
< function fh(a) {
---
> function mh(a) {
4526,4531c4570,4575
< var gh = af(),
<   hh = 2,
<   ih = gh,
<   jh = 0,
<   kh = 0,
<   lh = !1,
---
> var nh = L(),
>   oh = 2,
>   ph = nh,
>   qh = 0,
>   rh = 0,
>   sh = !1,
4533c4577
<   mh = null,
---
>   th = null,
4535,4536c4579,4580
<   nh = -1,
<   oh = !1,
---
>   uh = -1,
>   vh = !1,
4538,4541c4582,4585
<   ph = !1,
<   qh = !1,
<   dh = null;
< function rh() {
---
>   wh = !1,
>   xh = !1,
>   kh = null;
> function yh() {
4560a4605,4607
>           break;
>         case 15:
>           lg(), kg(b);
4564c4611
<   mh = null;
---
>   th = null;
4566,4567c4613,4614
<   nh = -1;
<   oh = !1;
---
>   uh = -1;
>   vh = !1;
4569c4616
<   qh = !1;
---
>   xh = !1;
4571c4618
< function sh(a) {
---
> function zh(a) {
4577c4624
<       b = Sg(b, a, T);
---
>       b = Zg(b, a, T);
4587,4591c4634,4648
<         for (g = e.child; null !== g; )
<           0 !== g.expirationTime &&
<             (0 === f || f > g.expirationTime) &&
<             (f = g.expirationTime),
<             (g = g.sibling);
---
>         if (e.mode & 4) {
>           g = e.selfBaseTime;
>           for (var h = e.child; null !== h; )
>             (g += h.treeBaseTime),
>               0 !== h.expirationTime &&
>                 (0 === f || f > h.expirationTime) &&
>                 (f = h.expirationTime),
>               (h = h.sibling);
>           e.treeBaseTime = g;
>         } else
>           for (g = e.child; null !== g; )
>             0 !== g.expirationTime &&
>               (0 === f || f > g.expirationTime) &&
>               (f = g.expirationTime),
>               (g = g.sibling);
4609c4666
<         qh = !0;
---
>         xh = !0;
4613c4670
<       a = fh(a, oh, T);
---
>       a = mh(a, vh, T);
4624,4626c4681,4686
< function th(a) {
<   var b = Kg(a.alternate, a, T);
<   null === b && (b = sh(a));
---
> function Ah(a) {
>   var b = a.alternate;
>   a.mode & 4 && (mg = L());
>   b = Rg(b, a, T);
>   a.mode & 4 && (-1 !== mg && (a.selfBaseTime = L() - mg), (mg = -1));
>   null === b && (b = zh(a));
4630,4635c4690,4695
< function uh(a, b, c) {
<   lh ? A("243") : void 0;
<   lh = !0;
<   if (b !== T || a !== mh || null === S)
<     rh(),
<       (mh = a),
---
> function Bh(a, b, c) {
>   sh ? A("243") : void 0;
>   sh = !0;
>   if (b !== T || a !== th || null === S)
>     yh(),
>       (th = a),
4637,4638c4697,4698
<       (nh = -1),
<       (S = vf(mh.current, null, T)),
---
>       (uh = -1),
>       (S = vf(th.current, null, T)),
4641c4701
<   oh = !c || T <= hh;
---
>   vh = !c || T <= oh;
4644,4645c4704,4707
<       if (c) for (; null !== S && !vh(); ) S = th(S);
<       else for (; null !== S; ) S = th(S);
---
>       if (c) {
>         for (; null !== S && !Ch(); ) S = Ah(S);
>         0 === hg && (hg = L());
>       } else for (; null !== S; ) S = Ah(S);
4647c4709
<       if (null === S) (d = !0), bh(f);
---
>       if (((mg = -1), null === S)) (d = !0), ih(f);
4659c4721
<           bh(f);
---
>           ih(f);
4662,4663c4724,4725
<         eh(a, e, c, f, oh, T, ih);
<         S = sh(c);
---
>         lh(a, e, c, f, vh, T, ph);
>         S = zh(c);
4668c4730
<   lh = !1;
---
>   sh = !1;
4671,4673c4733,4735
<     if (qh) return (a.pendingCommitExpirationTime = b), a.current.alternate;
<     oh ? A("262") : void 0;
<     0 <= nh &&
---
>     if (xh) return (a.pendingCommitExpirationTime = b), a.current.alternate;
>     vh ? A("262") : void 0;
>     0 <= uh &&
4678,4680c4740,4742
<           wh(a, b);
<       }, nh);
<     xh(a.current.expirationTime);
---
>           Dh(a, b);
>       }, uh);
>     Eh(a.current.expirationTime);
4684c4746
< function Vg(a, b) {
---
> function bh(a, b) {
4687c4749
<     lh && !ph ? A("263") : void 0;
---
>     sh && !wh ? A("263") : void 0;
4695c4757
<               (null === dh || !dh.has(d)))
---
>               (null === kh || !kh.has(d)))
4698c4760
<             a = ch(c, a, 1);
---
>             a = jh(c, a, 1);
4700c4762
<             kg(c, 1);
---
>             rg(c, 1);
4707c4769
<           a = ah(c, a, 1);
---
>           a = hh(c, a, 1);
4709c4771
<           kg(c, 1);
---
>           rg(c, 1);
4715c4777
<     3 === a.tag && ((c = Tf(b, a)), (c = ah(a, c, 1)), Mf(a, c, 1), kg(a, 1));
---
>     3 === a.tag && ((c = Tf(b, a)), (c = hh(a, c, 1)), Mf(a, c, 1), rg(a, 1));
4720,4723c4782,4785
< function yh() {
<   var a = 2 + 25 * ((((ig() - 2 + 500) / 25) | 0) + 1);
<   a <= jh && (a = jh + 1);
<   return (jh = a);
---
> function Fh() {
>   var a = 2 + 25 * ((((pg() - 2 + 500) / 25) | 0) + 1);
>   a <= qh && (a = qh + 1);
>   return (qh = a);
4725c4787
< function jg(a, b) {
---
> function qg(a, b) {
4727,4730c4789,4792
<     0 !== kh
<       ? kh
<       : lh
<         ? ph
---
>     0 !== rh
>       ? rh
>       : sh
>         ? wh
4734c4796
<           ? zh
---
>           ? Gh
4738c4800
<   zh && (0 === Ah || a > Ah) && (Ah = a);
---
>   Gh && (0 === Hh || a > Hh) && (Hh = a);
4741c4803
< function kg(a, b) {
---
> function rg(a, b) {
4750c4812
<         !lh && 0 !== T && b < T && rh();
---
>         !sh && 0 !== T && b < T && yh();
4752,4753c4814,4815
<         (lh && !ph && mh === c) || wh(c, d);
<         Bh > Ch && A("185");
---
>         (sh && !wh && th === c) || Dh(c, d);
>         Ih > Jh && A("185");
4758,4764c4820,4826
< function ig() {
<   ih = af() - gh;
<   return (hh = ((ih / 10) | 0) + 2);
< }
< function Dh(a) {
<   var b = kh;
<   kh = 2 + 25 * ((((ig() - 2 + 500) / 25) | 0) + 1);
---
> function pg() {
>   ph = L() - nh;
>   return (oh = ((ph / 10) | 0) + 2);
> }
> function Kh(a) {
>   var b = rh;
>   rh = 2 + 25 * ((((pg() - 2 + 500) / 25) | 0) + 1);
4768c4830
<     kh = b;
---
>     rh = b;
4771,4773c4833,4835
< function Eh(a, b, c, d, e) {
<   var f = kh;
<   kh = 1;
---
> function Lh(a, b, c, d, e) {
>   var f = rh;
>   rh = 1;
4777c4839
<     kh = f;
---
>     rh = f;
4780c4842
< var Fh = null,
---
> var Mh = null,
4782,4783c4844,4845
<   Gh = 0,
<   Hh = -1,
---
>   Nh = 0,
>   Oh = -1,
4787,4791c4849,4853
<   Ah = 0,
<   Ih = !1,
<   Jh = !1,
<   Kh = null,
<   Lh = null,
---
>   Hh = 0,
>   Ph = !1,
>   Qh = !1,
>   Rh = null,
>   Sh = null,
4793,4806c4855,4868
<   Mh = !1,
<   zh = !1,
<   Nh = null,
<   Ch = 1e3,
<   Bh = 0,
<   Oh = 1;
< function Ph(a) {
<   if (0 !== Gh) {
<     if (a > Gh) return;
<     cf(Hh);
<   }
<   var b = af() - gh;
<   Gh = a;
<   Hh = bf(Qh, { timeout: 10 * (a - 2) - b });
---
>   Th = !1,
>   Gh = !1,
>   Uh = null,
>   Jh = 1e3,
>   Ih = 0,
>   Vh = 1;
> function Wh(a) {
>   if (0 !== Nh) {
>     if (a > Nh) return;
>     cf(Oh);
>   }
>   var b = L() - nh;
>   Nh = a;
>   Oh = bf(Xh, { timeout: 10 * (a - 2) - b });
4808c4870
< function wh(a, b) {
---
> function Dh(a, b) {
4812,4813c4874,4875
<         ? ((Fh = V = a), (a.nextScheduledRoot = a))
<         : ((V = V.nextScheduledRoot = a), (V.nextScheduledRoot = Fh));
---
>         ? ((Mh = V = a), (a.nextScheduledRoot = a))
>         : ((V = V.nextScheduledRoot = a), (V.nextScheduledRoot = Mh));
4818c4880
<   W || (Z ? Mh && ((X = a), (Y = 1), Rh(a, 1, !1)) : 1 === b ? Sh() : Ph(b));
---
>   W || (Z ? Th && ((X = a), (Y = 1), Yh(a, 1, !1)) : 1 === b ? Zh() : Wh(b));
4820c4882
< function Th() {
---
> function $h() {
4824c4886
<     for (var c = V, d = Fh; null !== d; ) {
---
>     for (var c = V, d = Mh; null !== d; ) {
4829c4891
<           Fh = V = d.nextScheduledRoot = null;
---
>           Mh = V = d.nextScheduledRoot = null;
4831,4832c4893,4894
<         } else if (d === Fh)
<           (Fh = e = d.nextScheduledRoot),
---
>         } else if (d === Mh)
>           (Mh = e = d.nextScheduledRoot),
4837c4899
<           V.nextScheduledRoot = Fh;
---
>           V.nextScheduledRoot = Mh;
4852c4914
<   null !== c && c === b && 1 === a ? Bh++ : (Bh = 0);
---
>   null !== c && c === b && 1 === a ? Ih++ : (Ih = 0);
4856,4857c4918,4919
< function Qh(a) {
<   Uh(0, !0, a);
---
> function Xh(a) {
>   ai(0, !0, a);
4859,4860c4921,4922
< function Sh() {
<   Uh(1, !1, null);
---
> function Zh() {
>   ai(1, !1, null);
4862,4864c4924,4927
< function Uh(a, b, c) {
<   Lh = c;
<   Th();
---
> function ai(a, b, c) {
>   Sh = c;
>   $h();
>   lg();
4866,4867c4929,4930
<     for (; null !== X && 0 !== Y && (0 === a || a >= Y) && (!Ih || ig() >= Y); )
<       ig(), Rh(X, Y, !Ih), Th();
---
>     for (; null !== X && 0 !== Y && (0 === a || a >= Y) && (!Ph || pg() >= Y); )
>       pg(), Yh(X, Y, !Ph), $h();
4869,4874c4932,4937
<     for (; null !== X && 0 !== Y && (0 === a || a >= Y); ) Rh(X, Y, !1), Th();
<   null !== Lh && ((Gh = 0), (Hh = -1));
<   0 !== Y && Ph(Y);
<   Lh = null;
<   Ih = !1;
<   Vh();
---
>     for (; null !== X && 0 !== Y && (0 === a || a >= Y); ) Yh(X, Y, !1), $h();
>   null !== Sh && ((Nh = 0), (Oh = -1));
>   0 !== Y && Wh(Y);
>   Sh = null;
>   Ph = !1;
>   bi();
4876c4939
< function Wh(a, b) {
---
> function ci(a, b) {
4880,4888c4943,4951
<   Rh(a, b, !1);
<   Sh();
<   Vh();
< }
< function Vh() {
<   Bh = 0;
<   if (null !== Nh) {
<     var a = Nh;
<     Nh = null;
---
>   Yh(a, b, !1);
>   Zh();
>   bi();
> }
> function bi() {
>   Ih = 0;
>   if (null !== Uh) {
>     var a = Uh;
>     Uh = null;
4894c4957
<         Jh || ((Jh = !0), (Kh = d));
---
>         Qh || ((Qh = !0), (Rh = d));
4898c4961
<   if (Jh) throw ((a = Kh), (Kh = null), (Jh = !1), a);
---
>   if (Qh) throw ((a = Rh), (Rh = null), (Qh = !1), a);
4900c4963
< function Rh(a, b, c) {
---
> function Yh(a, b, c) {
4906c4969
<         ? Xh(a, c, b)
---
>         ? di(a, c, b)
4908,4909c4971,4975
<           (c = uh(a, b, !0)),
<           null !== c && (vh() ? (a.finishedWork = c) : Xh(a, c, b))))
---
>           (c = Bh(a, b, !0)),
>           null !== c &&
>             (Ch()
>               ? ((a.finishedWork = c), 0 === hg && (hg = L()))
>               : di(a, c, b))))
4912c4978
<         ? Xh(a, c, b)
---
>         ? di(a, c, b)
4914,4915c4980,4981
<           (c = uh(a, b, !1)),
<           null !== c && Xh(a, c, b)));
---
>           (c = Bh(a, b, !1)),
>           null !== c && di(a, c, b)));
4918c4984
< function Xh(a, b, c) {
---
> function di(a, b, c) {
4923c4989
<     (null === Nh ? (Nh = [d]) : Nh.push(d), d._defer)
---
>     (null === Uh ? (Uh = [d]) : Uh.push(d), d._defer)
4930c4996
<   ph = lh = !0;
---
>   wh = sh = !0;
4936c5002
<   ig();
---
>   pg();
4944c5010
<   Xe = Gd;
---
>   Ye = Hd;
4946c5012
<   if (Td(f)) {
---
>   if (Ud(f)) {
4959c5025
<           } catch (Wa) {
---
>           } catch (Za) {
4966,4967c5032,5033
<             kc = 0,
<             Hd = 0,
---
>             oc = 0,
>             Kd = 0,
4981,4982c5047,5048
<               t === g && ++kc === k && (w = r);
<               t === n && ++Hd === h && (P = r);
---
>               t === g && ++oc === k && (w = r);
>               t === n && ++Kd === h && (P = r);
4994c5060
<   Ye = { focusedElem: f, selectionRange: g };
---
>   Ze = { focusedElem: f, selectionRange: g };
5009,5013c5075,5079
<                   ja = k.stateNode;
<                 ja.props = k.memoizedProps;
<                 ja.state = k.memoizedState;
<                 var hi = ja.getSnapshotBeforeUpdate(y, D);
<                 ja.__reactInternalSnapshotBeforeUpdate = hi;
---
>                   ka = k.stateNode;
>                 ka.props = k.memoizedProps;
>                 ka.state = k.memoizedState;
>                 var oi = ka.getSnapshotBeforeUpdate(y, D);
>                 ka.__reactInternalSnapshotBeforeUpdate = oi;
5027,5028c5093,5094
<     } catch (Wa) {
<       (f = !0), (g = Wa);
---
>     } catch (Za) {
>       (f = !0), (g = Za);
5032c5098
<       Vg(U, g),
---
>       bh(U, g),
5034a5101
>   gg = L();
5041c5108
<         q & 16 && Ge(U.stateNode, "");
---
>         q & 16 && He(U.stateNode, "");
5052c5119
<             Zg(U);
---
>             fh(U);
5056c5123
<             Zg(U);
---
>             fh(U);
5058c5125
<             $g(U.alternate, U);
---
>             gh(U.alternate, U);
5061c5128
<             $g(U.alternate, U);
---
>             gh(U.alternate, U);
5065c5132
<               Xg(D),
---
>               dh(D),
5073,5074c5140,5141
<     } catch (Wa) {
<       (u = !0), (y = Wa);
---
>     } catch (Za) {
>       (u = !0), (y = Za);
5078c5145
<       Vg(U, y),
---
>       bh(U, y),
5081c5148
<   l = Ye;
---
>   l = Ze;
5086c5153
<     Td(q) &&
---
>     Ud(q) &&
5099,5100c5166,5167
<           (y = Sd(q, l)),
<           (D = Sd(q, u)),
---
>           (y = Td(q, l)),
>           (D = Td(q, u)),
5108,5109c5175,5176
<             ((ja = document.createRange()),
<             ja.setStart(y.node, y.offset),
---
>             ((ka = document.createRange()),
>             ka.setStart(y.node, y.offset),
5112,5113c5179,5180
<               ? (z.addRange(ja), z.extend(D.node, D.offset))
<               : (ja.setEnd(D.node, D.offset), z.addRange(ja)))));
---
>               ? (z.addRange(ka), z.extend(D.node, D.offset))
>               : (ka.setEnd(D.node, D.offset), z.addRange(ka)))));
5127a5195,5196
>   Ze = null;
>   Id(Ye);
5129,5130d5197
<   Id(Xe);
<   Xe = null;
5137,5139c5204,5206
<         var gg = U.effectTag;
<         if (gg & 36) {
<           var lc = U.alternate;
---
>         var ng = U.effectTag;
>         if (ng & 36) {
>           var pc = U.alternate;
5144c5211
<               var ba = l.stateNode;
---
>               var ca = l.stateNode;
5146,5149c5213,5216
<                 if (null === lc)
<                   (ba.props = l.memoizedProps),
<                     (ba.state = l.memoizedState),
<                     ba.componentDidMount();
---
>                 if (null === pc)
>                   (ca.props = l.memoizedProps),
>                     (ca.state = l.memoizedState),
>                     ca.componentDidMount();
5151,5158c5218,5225
<                   var ri = lc.memoizedProps,
<                     si = lc.memoizedState;
<                   ba.props = l.memoizedProps;
<                   ba.state = l.memoizedState;
<                   ba.componentDidUpdate(
<                     ri,
<                     si,
<                     ba.__reactInternalSnapshotBeforeUpdate
---
>                   var yi = pc.memoizedProps,
>                     zi = pc.memoizedState;
>                   ca.props = l.memoizedProps;
>                   ca.state = l.memoizedState;
>                   ca.componentDidUpdate(
>                     yi,
>                     zi,
>                     ca.__reactInternalSnapshotBeforeUpdate
5161,5165c5228,5232
<               var Mg = l.updateQueue;
<               null !== Mg &&
<                 ((ba.props = l.memoizedProps),
<                 (ba.state = l.memoizedState),
<                 Sf(l, Mg, ba, u));
---
>               var Tg = l.updateQueue;
>               null !== Tg &&
>                 ((ca.props = l.memoizedProps),
>                 (ca.state = l.memoizedState),
>                 Sf(l, Tg, ca, u));
5168,5169c5235,5236
<               var Ng = l.updateQueue;
<               if (null !== Ng) {
---
>               var Ug = l.updateQueue;
>               if (null !== Ug) {
5179c5246
<                 Sf(l, Ng, y, u);
---
>                 Sf(l, Ug, y, u);
5183,5184c5250,5251
<               var ti = l.stateNode;
<               null === lc &&
---
>               var Ai = l.stateNode;
>               null === pc &&
5186,5187c5253,5254
<                 Ze(l.type, l.memoizedProps) &&
<                 ti.focus();
---
>                 $e(l.type, l.memoizedProps) &&
>                 Ai.focus();
5201c5268
<         if (gg & 128) {
---
>         if (ng & 128) {
5203,5205c5270,5272
<           var uc = U.ref;
<           if (null !== uc) {
<             var Og = U.stateNode;
---
>           var yc = U.ref;
>           if (null !== yc) {
>             var Vg = U.stateNode;
5208c5275
<                 l = Og;
---
>                 l = Vg;
5211c5278
<                 l = Og;
---
>                 l = Vg;
5213c5280
<             "function" === typeof uc ? uc(l) : (uc.current = l);
---
>             "function" === typeof yc ? yc(l) : (yc.current = l);
5216c5283
<         var ui = U.nextEffect;
---
>         var Bi = U.nextEffect;
5218c5285
<         U = ui;
---
>         U = Bi;
5220,5221c5287,5288
<     } catch (Wa) {
<       (e = !0), (q = Wa);
---
>     } catch (Za) {
>       (e = !0), (q = Za);
5225c5292
<       Vg(U, q),
---
>       bh(U, q),
5228c5295,5296
<   lh = ph = !1;
---
>   ig = 0;
>   sh = wh = !1;
5231c5299
<   0 === b && (dh = null);
---
>   0 === b && (kh = null);
5234,5235c5302,5303
< function vh() {
<   return null === Lh || Lh.timeRemaining() > Oh ? !1 : (Ih = !0);
---
> function Ch() {
>   return null === Sh || Sh.timeRemaining() > Vh ? !1 : (Ph = !0);
5237c5305
< function bh(a) {
---
> function ih(a) {
5240c5308
<   Jh || ((Jh = !0), (Kh = a));
---
>   Qh || ((Qh = !0), (Rh = a));
5242c5310
< function xh(a) {
---
> function Eh(a) {
5246c5314
< function Yh(a, b) {
---
> function ei(a, b) {
5252c5320
<     (Z = c) || W || Sh();
---
>     (Z = c) || W || Zh();
5255,5257c5323,5325
< function Zh(a, b) {
<   if (Z && !Mh) {
<     Mh = !0;
---
> function fi(a, b) {
>   if (Z && !Th) {
>     Th = !0;
5261c5329
<       Mh = !1;
---
>       Th = !1;
5266c5334
< function $h(a, b) {
---
> function gi(a, b) {
5271c5339
<     return Eh(a, b);
---
>     return Lh(a, b);
5273c5341
<     (Z = c), Sh();
---
>     (Z = c), Zh();
5276c5344
< function ai(a) {
---
> function hi(a) {
5280c5348
<     Eh(a);
---
>     Lh(a);
5282c5350
<     (Z = b) || W || Uh(1, !1, null);
---
>     (Z = b) || W || ai(1, !1, null);
5285c5353
< function bi(a, b, c, d, e) {
---
> function ii(a, b, c, d, e) {
5291c5359
<       2 === id(c) && 2 === c.tag ? void 0 : A("170");
---
>       2 === jd(c) && 2 === c.tag ? void 0 : A("170");
5310c5378
<   kg(f, d);
---
>   rg(f, d);
5313c5381
< function ci(a) {
---
> function ji(a) {
5317c5385
<   a = ld(b);
---
>   a = md(b);
5320c5388
< function di(a, b, c, d) {
---
> function ki(a, b, c, d) {
5322,5324c5390,5392
<     f = ig();
<   e = jg(f, e);
<   return bi(a, b, c, e, d);
---
>     f = pg();
>   e = qg(f, e);
>   return ii(a, b, c, e, d);
5326c5394
< function ei(a) {
---
> function li(a) {
5336c5404
< function fi(a) {
---
> function mi(a) {
5341c5409
<         a = ld(a);
---
>         a = md(a);
5350,5351c5418,5419
< var gi = {
<   updateContainerAtExpirationTime: bi,
---
> var ni = {
>   updateContainerAtExpirationTime: ii,
5355,5362c5423,5430
<   updateContainer: di,
<   flushRoot: Wh,
<   requestWork: wh,
<   computeUniqueAsyncExpiration: yh,
<   batchedUpdates: Yh,
<   unbatchedUpdates: Zh,
<   deferredUpdates: Dh,
<   syncUpdates: Eh,
---
>   updateContainer: ki,
>   flushRoot: ci,
>   requestWork: Dh,
>   computeUniqueAsyncExpiration: Fh,
>   batchedUpdates: ei,
>   unbatchedUpdates: fi,
>   deferredUpdates: Kh,
>   syncUpdates: Lh,
5364,5366c5432,5434
<     if (zh) return a(b, c);
<     Z || W || 0 === Ah || (Uh(Ah, !1, null), (Ah = 0));
<     var d = zh,
---
>     if (Gh) return a(b, c);
>     Z || W || 0 === Hh || (ai(Hh, !1, null), (Hh = 0));
>     var d = Gh,
5368c5436
<     Z = zh = !0;
---
>     Z = Gh = !0;
5372c5440
<       (zh = d), (Z = e) || W || Sh();
---
>       (Gh = d), (Z = e) || W || Zh();
5376c5444
<     W || 0 === Ah || (Uh(Ah, !1, null), (Ah = 0));
---
>     W || 0 === Hh || (ai(Hh, !1, null), (Hh = 0));
5378,5381c5446,5449
<   flushControlled: ai,
<   flushSync: $h,
<   getPublicRootInstance: ei,
<   findHostInstance: ci,
---
>   flushControlled: hi,
>   flushSync: gi,
>   getPublicRootInstance: li,
>   findHostInstance: ji,
5383c5451
<     a = md(a);
---
>     a = nd(a);
5386c5454
<   injectIntoDevTools: fi
---
>   injectIntoDevTools: mi
5388c5456
< function ii(a, b, c) {
---
> function pi(a, b, c) {
5391c5459
<     $$typeof: gc,
---
>     $$typeof: hc,
5398,5400c5466,5468
< Kb.injectFiberControlledHostComponent(We);
< function ji(a) {
<   this._expirationTime = yh();
---
> Kb.injectFiberControlledHostComponent(Xe);
> function qi(a) {
>   this._expirationTime = Fh();
5407c5475
< ji.prototype.render = function(a) {
---
> qi.prototype.render = function(a) {
5413,5414c5481,5482
<     d = new ki();
<   bi(a, b, null, c, d._onCommit);
---
>     d = new ri();
>   ii(a, b, null, c, d._onCommit);
5417c5485
< ji.prototype.then = function(a) {
---
> qi.prototype.then = function(a) {
5425c5493
< ji.prototype.commit = function() {
---
> qi.prototype.commit = function() {
5442c5510
<     Wh(a, c);
---
>     ci(a, c);
5449c5517
< ji.prototype._onComplete = function() {
---
> qi.prototype._onComplete = function() {
5456c5524
< function ki() {
---
> function ri() {
5461c5529
< ki.prototype.then = function(a) {
---
> ri.prototype.then = function(a) {
5469c5537
< ki.prototype._onCommit = function() {
---
> ri.prototype._onCommit = function() {
5481c5549
< function li(a, b, c) {
---
> function si(a, b, c) {
5484c5552
< li.prototype.render = function(a, b) {
---
> si.prototype.render = function(a, b) {
5486c5554
<     d = new ki();
---
>     d = new ri();
5489c5557
<   di(a, c, null, d._onCommit);
---
>   ki(a, c, null, d._onCommit);
5492c5560
< li.prototype.unmount = function(a) {
---
> si.prototype.unmount = function(a) {
5494c5562
<     c = new ki();
---
>     c = new ri();
5497c5565
<   di(null, b, null, c._onCommit);
---
>   ki(null, b, null, c._onCommit);
5500c5568
< li.prototype.legacy_renderSubtreeIntoContainer = function(a, b, c) {
---
> si.prototype.legacy_renderSubtreeIntoContainer = function(a, b, c) {
5502c5570
<     e = new ki();
---
>     e = new ri();
5505c5573
<   di(b, d, a, e._onCommit);
---
>   ki(b, d, a, e._onCommit);
5508,5509c5576,5577
< li.prototype.createBatch = function() {
<   var a = new ji(this),
---
> si.prototype.createBatch = function() {
>   var a = new qi(this),
5522c5590
< function mi(a) {
---
> function ti(a) {
5531,5534c5599,5602
< Sb = gi.batchedUpdates;
< Tb = gi.interactiveUpdates;
< Ub = gi.flushInteractiveUpdates;
< function ni(a, b) {
---
> Sb = ni.batchedUpdates;
> Tb = ni.interactiveUpdates;
> Ub = ni.flushInteractiveUpdates;
> function ui(a, b) {
5539c5607
<   return new li(a, !1, b);
---
>   return new si(a, !1, b);
5541,5542c5609,5610
< function oi(a, b, c, d, e) {
<   mi(c) ? void 0 : A("200");
---
> function vi(a, b, c, d, e) {
>   ti(c) ? void 0 : A("200");
5548c5616
<         var a = ei(f._internalRoot);
---
>         var a = li(f._internalRoot);
5554c5622
<     f = c._reactRootContainer = ni(c, d);
---
>     f = c._reactRootContainer = ui(c, d);
5558c5626
<         var a = ei(f._internalRoot);
---
>         var a = li(f._internalRoot);
5562c5630
<     Zh(function() {
---
>     fi(function() {
5566c5634
<   return ei(f._internalRoot);
---
>   return li(f._internalRoot);
5568c5636
< function pi(a, b) {
---
> function wi(a, b) {
5570,5571c5638,5639
<   mi(b) ? void 0 : A("200");
<   return ii(a, b, null, c);
---
>   ti(b) ? void 0 : A("200");
>   return pi(a, b, null, c);
5573,5574c5641,5642
< var qi = {
<   createPortal: pi,
---
> var xi = {
>   createPortal: wi,
5576c5644
<     return null == a ? null : 1 === a.nodeType ? a : ci(a);
---
>     return null == a ? null : 1 === a.nodeType ? a : ji(a);
5579c5647
<     return oi(null, a, b, !0, c);
---
>     return vi(null, a, b, !0, c);
5582c5650
<     return oi(null, a, b, !1, c);
---
>     return vi(null, a, b, !1, c);
5586c5654
<     return oi(a, b, c, !1, d);
---
>     return vi(a, b, c, !1, d);
5589c5657
<     mi(a) ? void 0 : A("40");
---
>     ti(a) ? void 0 : A("40");
5591,5592c5659,5660
<       ? (Zh(function() {
<           oi(null, null, a, !1, function() {
---
>       ? (fi(function() {
>           vi(null, null, a, !1, function() {
5600c5668
<     return pi.apply(void 0, arguments);
---
>     return wi.apply(void 0, arguments);
5602,5605c5670,5673
<   unstable_batchedUpdates: Yh,
<   unstable_deferredUpdates: Dh,
<   flushSync: $h,
<   unstable_flushControlled: ai,
---
>   unstable_batchedUpdates: ei,
>   unstable_deferredUpdates: Kh,
>   flushSync: gi,
>   unstable_flushControlled: hi,
5612c5680
<     ReactDOMEventListener: Md
---
>     ReactDOMEventListener: Nd
5615c5683
<     return new li(a, !0, null != b && !0 === b.hydrate);
---
>     return new si(a, !0, null != b && !0 === b.hydrate);
5618c5686
< fi({
---
> mi({
5624,5626c5692,5694
< var vi = { default: qi },
<   wi = (vi && qi) || vi;
< module.exports = wi.default ? wi.default : wi;
---
> var Ci = { default: xi },
>   Di = (Ci && xi) || Ci;
> module.exports = Di.default ? Di.default : Di;
@pull-bot

This comment has been minimized.

Copy link

pull-bot commented May 22, 2018

Details of bundled changes.

Comparing: bfb12eb...cd39422

react-dom

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
react-dom.profiling.min.js n/a n/a 0 B 93.62 KB 0 B 29.85 KB NODE_PROFILING

react-native-renderer

File Filesize Diff Gzip Diff Prev Size Current Size Prev Gzip Current Gzip ENV
ReactFabric-dev.js -0.0% 0.0% 448.68 KB 448.68 KB 97.83 KB 97.83 KB RN_OSS_DEV
ReactNativeRenderer-profiling.js n/a n/a 0 B 196.13 KB 0 B 34.44 KB RN_OSS_PROFILING
ReactFabric-profiling.js n/a n/a 0 B 188.09 KB 0 B 33.03 KB RN_OSS_PROFILING

Generated by 🚫 dangerJS

@bvaughn bvaughn referenced this pull request May 22, 2018

Open

Profiler RFC #51

@bvaughn bvaughn requested review from sebmarkbage , gaearon and acdlite May 23, 2018

@bvaughn bvaughn force-pushed the bvaughn:profiling-build branch from 6dceb73 to 3f6fee4 May 23, 2018

@bvaughn bvaughn requested review from sophiebits and flarnie May 25, 2018

@bvaughn bvaughn force-pushed the bvaughn:profiling-build branch 2 times, most recently from a50b70c to 812beec May 25, 2018

@bvaughn

This comment has been minimized.

Copy link
Contributor Author

bvaughn commented May 29, 2018

Rebaaaaased

@nhunzaker
Copy link
Collaborator

nhunzaker left a comment

This looks good to me.

At some point, I'd like to figure out how to do a limited build set to speed up turn around time when testing DOM fixtures. We only need the UMD dev (edit: dom and core) builds in that case.

yarn build "dom-client, core" definitely speeds things up, and some times I just comment out the other build 😸.

Still at some point I'd like to look into adding a more fine grained filter (also maybe running Rollup in watch mode).

@bvaughn

This comment has been minimized.

Copy link
Contributor Author

bvaughn commented Jun 5, 2018

Thanks Nate! 😄

Have you tried?

yarn build dom-client,core --type=UMD
@nhunzaker

This comment has been minimized.

Copy link
Collaborator

nhunzaker commented Jun 5, 2018

what

Dang. I need to put this in the DOM fixture readme. Thanks!

@bvaughn

This comment has been minimized.

Copy link
Contributor Author

bvaughn commented Jun 9, 2018

Any reviewers other than Nate want to take a look and weigh in?

@@ -37,7 +37,8 @@ export const warnAboutDeprecatedLifecycles = false;
export const warnAboutLegacyContextAPI = false;

// Gather advanced timing metrics for Profiler subtrees.
export const enableProfilerTimer = __DEV__;
export const enableProfilerTimer =
__DEV__ || process.env.REACT_ENABLE_PROFILING === true;

This comment has been minimized.

@gaearon

gaearon Jun 10, 2018

Member

Does it need to be on process.env, as opposed to another global?

My understanding is that this flag always gets replaced in build process. So we don’t actually let people use it, do we? Not unless they import our bundle directly. At that point we might as well call it __PROFILE__ to better indicate its internal only.

This comment has been minimized.

@gaearon

gaearon Jun 10, 2018

Member

In case it’s not clear I mean that we didn’t change npm entry point so there’s no way external consumers can set this variable.

This comment has been minimized.

@bvaughn

bvaughn Jun 10, 2018

Author Contributor

I originally named it __PROFILER__ but backed it out in 812beec because of Flow. I don't feel strongly about that change though. Happy to change it back and just add a Flow declaration.

Edit Done.

This comment has been minimized.

@gaearon

gaearon Jun 10, 2018

Member

I'm mostly curious about your intention. What is your plan for people to use this in CJS mode?

This comment has been minimized.

@bvaughn

bvaughn Jun 10, 2018

Author Contributor

Intention wasn't to let people override this value at runtime, so you're right that using process.env was probably misleading or confusing.

What is your plan for people to use this in CJS mode?

Haven't thought a lot about this, but I was assuming people would alias react (and renderer) imports for production builds if they wanted to use profiling capabilities.

@bvaughn bvaughn force-pushed the bvaughn:profiling-build branch from 812beec to 29f09ac Jun 10, 2018

@gaearon

This comment has been minimized.

Copy link
Member

gaearon commented Jun 10, 2018

I think at some point we discussed allowing to opt into profiling bundle with an env variable (instead of aliasing). But I haven’t thought about whether it would break dead code elimination or not.

@bvaughn

This comment has been minimized.

Copy link
Contributor Author

bvaughn commented Jun 10, 2018

I think at some point we discussed allowing to opt into profiling bundle with an env variable (instead of aliasing). But I haven’t thought about whether it would break dead code elimination or not.

My interpretation/recollection of that idea was that a query parameter and/or env variable could be used to determine which version of react (and renderer) was required- production or profiling.

Including profiling capabilities in the production build would impact DCE for places like ReactProfilerTimer, all of the ReactFiber*Work helpers, and ReactFiber where we strip code if the enableProfilerTimer flag is disabled.

@gaearon

This comment has been minimized.

Copy link
Member

gaearon commented Jun 10, 2018

I didn’t propose to include it in the production build, but to do a switch of the bundle at the top level (just like we do with development/production). But I’m worried that there might be no way to have a separate env variable without breaking dead code elimination for people who don’t set it at all.

@bvaughn

This comment has been minimized.

Copy link
Contributor Author

bvaughn commented Jun 11, 2018

I guess I misunderstood your initial suggestion.

I don't know that we need to decide that aspect in order to move on with this PR. Even just having a production+profiling bundle that people could alias to themselves would be a nice incremental change.

@gaearon
Copy link
Member

gaearon left a comment

I think this looks good.

@gaearon

This comment has been minimized.

Copy link
Member

gaearon commented Jun 11, 2018

Before merging can you please make sure once again this didn't affect existing DEV/PROD bundles now that you've changed it to use __PROFILE__ (which I like)?

@sebmarkbage

This comment has been minimized.

Copy link
Member

sebmarkbage commented Jun 11, 2018

Do we want people aliasing though? We wanted to treat the nested bundles as opaque so that we can do things like inlining it into the main bundle to avoid packaging woes. Seems like mixed messaging. It's also not a very scalable solution because we might want to move things to the react package and later the scheduler package. All of those have to be aliased and things might break in weird ways when you get it wrong.

A possible solution could be to embed something like var ENV_PROFILING = false in the bundles and hope it gets DCE. Then create-react-app can come with an option that replaces that string with var ENV_PROFILING = true.

@gaearon

This comment has been minimized.

Copy link
Member

gaearon commented Jun 11, 2018

That's additive though. We can still merge this for initial experimentation. Then when we announce Profiler officially we can figure out how to expose the bundle in a supported way too.

@nhunzaker

This comment has been minimized.

Copy link
Collaborator

nhunzaker commented Jun 11, 2018

Is there any concern that adding an environment variable could lead to component ecosystem around if (process.env.REACT_ENABLE_PROFILING)?

I don't think that decision should block this PR, but that's my only concern with using an environment variable.

@gaearon

This comment has been minimized.

Copy link
Member

gaearon commented Jun 11, 2018

I don't see why that would be bad. I'm more concerned that DCE might not work at all for some people because they don't explicitly have this variable in their configs.

@bvaughn

This comment has been minimized.

Copy link
Contributor Author

bvaughn commented Jun 11, 2018

Before merging can you please make sure once again this didn't affect existing DEV/PROD bundles now that you've changed it to use __PROFILE__ (which I like)?

Yup! I'll rebase and do one more comparison.

@bvaughn

This comment has been minimized.

Copy link
Contributor Author

bvaughn commented Jun 11, 2018

yarn build "dom-client, core" in master and this branch (after rebasing on master) showed no size impact on DEV and PROD bundles:
screen shot 2018-06-11 at 1 06 57 pm

Comparing the new react-dom.profiling.min.js bundle to the existing react-dom.production.min.js showed some minified variable changes, but only the following substantive differences (green text is the profiling build):

2829a2830
>   this.treeBaseTime = this.selfBaseTime = this.actualStartTime = this.actualDuration = 0;
2843c2844,2846
<       (d.lastEffect = null));
---
>       (d.lastEffect = null),
>       (d.actualDuration = 0),
>       (d.actualStartTime = 0));
2851a2855,2856
>   d.selfBaseTime = a.selfBaseTime;
>   d.treeBaseTime = a.treeBaseTime;
3204c3209,3219
< function lg(a, b, c) {
---
> var kg = 0,
>   lg = 0,
>   mg = 0;
> function ng(a) {
>   a.actualDuration = L() - mg - a.actualDuration;
> }
> function pg() {
>   0 < lg && ((mg += L() - lg), (lg = 0));
> }
> var qg = -1;
> function rg(a, b, c) {
3827c3846,3849
< function Rg(a, b, c) {
---
> function Xg(a, b, c) {
>   b.mode & 4 &&
>     ((b.actualDuration = L() - b.actualDuration - mg),
>     (b.actualStartTime = L()));
4451c4476
<         null !== f && ((c[Ma] = d), Xe(c, f, e, a, d));
---
>         null !== f && ((c[Ma] = d), Ye(c, f, e, a, d));
4460a4486,4494
>       c = b.memoizedProps.onRender;
>       c(
>         b.memoizedProps.id,
>         null === a ? "mount" : "update",
>         b.actualDuration,
>         b.treeBaseTime,
>         b.actualStartTime,
>         kg
>       );
4613,4617c4649,4663
<         for (g = e.child; null !== g; )
<           0 !== g.expirationTime &&
<             (0 === f || f > g.expirationTime) &&
<             (f = g.expirationTime),
<             (g = g.sibling);
---
>         if (e.mode & 4) {
>           g = e.selfBaseTime;
>           for (var h = e.child; null !== h; )
>             (g += h.treeBaseTime),
>               0 !== h.expirationTime &&
>                 (0 === f || f > h.expirationTime) &&
>                 (f = h.expirationTime),
>               (h = h.sibling);
>           e.treeBaseTime = g;
>         } else
>           for (g = e.child; null !== g; )
>             0 !== g.expirationTime &&
>               (0 === f || f > g.expirationTime) &&
>               (f = g.expirationTime),
>               (g = g.sibling);
4650,4653c4696,4702
< function xh(a) {
<   var b = Rg(a.alternate, a, T);
<   null === b && (b = wh(a));
<   ec.current = null;
---
> function Dh(a) {
>   var b = a.alternate;
>   a.mode & 4 && (qg = L());
>   b = Xg(b, a, T);
>   a.mode & 4 && (-1 !== qg && (a.selfBaseTime = L() - qg), (qg = -1));
>   null === b && (b = Ch(a));
>   fc.current = null;

@bvaughn bvaughn merged commit d5c1119 into facebook:master Jun 11, 2018

1 check passed

ci/circleci Your tests passed on CircleCI!
Details

@bvaughn bvaughn deleted the bvaughn:profiling-build branch Jun 11, 2018

TejasQ added a commit to TejasQ/react that referenced this pull request Aug 26, 2018

Added production profiling bundle type (facebook#12886)
* Added profiling bundle
* Turned profiling on for React Fabric OSS profiling and dev bundles
* Added new global var "__PROFILE__" for profiling DCE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.