h&&(h=n);m?ts(c,f)&&(f=t):s(t,f)>s(c,f)&&(c=t):f>=c?(tf&&(f=t)):t>p?s(c,t)>s(c,f)&&(f=t):s(t,f)>s(c,f)&&(c=t)}else e(t,n);v=r,p=t}function n(){M.point=t}function r(){E[0]=c,E[1]=f,M.point=e,v=null}function a(e,n){if(v){var r=e-p;g+=So(r)>180?r+(r>0?360:-360):r}else _=e,m=n;Ds.point(e,n),t(e,n)}function i(){Ds.lineStart()}function o(){a(_,m),Ds.lineEnd(),So(g)>jo&&(c=-(f=180)),E[0]=c,E[1]=f,v=null}function s(e,t){return(t-=e)<0?t+360:t}function u(e,t){return e[0]-t[0]}function l(e,t){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:ejo?h=90:g<-jo&&(d=-90),E[0]=c,E[1]=f}};return function(e){h=f=-(c=d=1/0),y=[],ho.geo.stream(e,M);var t=y.length;if(t){y.sort(u);for(var n,r=1,a=y[0],i=[a];rs(a[0],a[1])&&(a[1]=n[1]),s(n[0],a[1])>s(a[0],a[1])&&(a[0]=n[0])):i.push(a=n);for(var o,n,p=-(1/0),t=i.length-1,r=0,a=i[t];r<=t;a=n,++r)n=i[r],(o=s(a[1],n[0]))>p&&(p=o,c=n[0],f=a[1])}return y=E=null,c===1/0||d===1/0?[[NaN,NaN],[NaN,NaN]]:[[c,d],[f,h]]}}(),ho.geo.centroid=function(e){Rs=xs=Ns=Os=As=Ys=Ps=Is=Fs=Hs=js=0,ho.geo.stream(e,Us);var t=Fs,n=Hs,r=js,a=t*t+n*n+r*r;return a=.12&&a<.234&&r>=-.425&&r<-.214?o:a>=.166&&a<.234&&r>=-.214&&r<-.115?s:i).invert(e)},e.stream=function(e){var t=i.stream(e),n=o.stream(e),r=s.stream(e);return{point:function(e,a){t.point(e,a),n.point(e,a),r.point(e,a)},sphere:function(){t.sphere(),n.sphere(),r.sphere()},lineStart:function(){t.lineStart(),n.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),n.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),n.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),n.polygonEnd(),r.polygonEnd()}}},e.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),s.precision(t),e):i.precision()},e.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),s.scale(t),e.translate(i.translate())):i.scale()},e.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),c=+t[0],d=+t[1];return n=i.translate(t).clipExtent([[c-.455*l,d-.238*l],[c+.455*l,d+.238*l]]).stream(u).point,r=o.translate([c-.307*l,d+.201*l]).clipExtent([[c-.425*l+jo,d+.12*l+jo],[c-.214*l-jo,d+.234*l-jo]]).stream(u).point,a=s.translate([c-.205*l,d+.212*l]).clipExtent([[c-.214*l+jo,d+.166*l+jo],[c-.115*l-jo,d+.234*l-jo]]).stream(u).point,e},e.scale(1070)};var zs,Gs,Bs,qs,Js,Qs,Ks={point:k,lineStart:k,lineEnd:k,polygonStart:function(){Gs=0,Ks.lineStart=Zt},polygonEnd:function(){Ks.lineStart=Ks.lineEnd=Ks.point=k,zs+=So(Gs/2)}},Zs={point:Xt,lineStart:k,lineEnd:k,polygonStart:k,polygonEnd:k},Xs={point:tn,lineStart:nn,lineEnd:rn,polygonStart:function(){Xs.lineStart=an},polygonEnd:function(){Xs.point=tn,Xs.lineStart=nn,Xs.lineEnd=rn}};ho.geo.path=function(){function e(e){return e&&("function"==typeof s&&i.pointRadius(+s.apply(this,arguments)),o&&o.valid||(o=a(i)),ho.geo.stream(e,o)),i.result()}function t(){return o=null,e}var n,r,a,i,o,s=4.5;return e.area=function(e){return zs=0,ho.geo.stream(e,a(Ks)),zs},e.centroid=function(e){return Ns=Os=As=Ys=Ps=Is=Fs=Hs=js=0,ho.geo.stream(e,a(Xs)),js?[Fs/js,Hs/js]:Is?[Ys/Is,Ps/Is]:As?[Ns/As,Os/As]:[NaN,NaN]},e.bounds=function(e){return Js=Qs=-(Bs=qs=1/0),ho.geo.stream(e,a(Zs)),[[Bs,qs],[Js,Qs]]},e.projection=function(e){return arguments.length?(a=(n=e)?e.stream||un(e):S,t()):n},e.context=function(e){return arguments.length?(i=null==(r=e)?new $t:new on(e),"function"!=typeof s&&i.pointRadius(s),t()):r},e.pointRadius=function(t){return arguments.length?(s="function"==typeof t?t:(i.pointRadius(+t),+t),e):s},e.projection(ho.geo.albersUsa()).context(null)},ho.geo.transform=function(e){return{stream:function(t){var n=new ln(t);for(var r in e)n[r]=e[r];return n}}},ln.prototype={point:function(e,t){this.stream.point(e,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()}},ho.geo.projection=dn,ho.geo.projectionMutator=fn,(ho.geo.equirectangular=function(){return dn(pn)}).raw=pn.invert=pn,ho.geo.rotation=function(e){function t(t){return t=e(t[0]*Bo,t[1]*Bo),t[0]*=qo,t[1]*=qo,t}return e=mn(e[0]%360*Bo,e[1]*Bo,e.length>2?e[2]*Bo:0),t.invert=function(t){return t=e.invert(t[0]*Bo,t[1]*Bo),t[0]*=qo,t[1]*=qo,t},t},_n.invert=pn,ho.geo.circle=function(){function e(){var e="function"==typeof r?r.apply(this,arguments):r,t=mn(-e[0]*Bo,-e[1]*Bo,0).invert,a=[];return n(null,null,1,{point:function(e,n){a.push(e=t(e,n)),e[0]*=qo,e[1]*=qo}}),{type:"Polygon",coordinates:[a]}}var t,n,r=[0,0],a=6;return e.origin=function(t){return arguments.length?(r=t,e):r},e.angle=function(r){return arguments.length?(n=En((t=+r)*Bo,a*Bo),e):t},e.precision=function(r){return arguments.length?(n=En(t*Bo,(a=+r)*Bo),e):a},e.angle(90)},ho.geo.distance=function(e,t){var n,r=(t[0]-e[0])*Bo,a=e[1]*Bo,i=t[1]*Bo,o=Math.sin(r),s=Math.cos(r),u=Math.sin(a),l=Math.cos(a),c=Math.sin(i),d=Math.cos(i);return Math.atan2(Math.sqrt((n=d*o)*n+(n=l*c-u*d*s)*n),u*c+l*d*s)},ho.geo.graticule=function(){function e(){return{type:"MultiLineString",coordinates:t()}}function t(){return ho.range(Math.ceil(i/m)*m,a,m).map(f).concat(ho.range(Math.ceil(l/v)*v,u,v).map(h)).concat(ho.range(Math.ceil(r/p)*p,n,p).filter(function(e){return So(e%m)>jo}).map(c)).concat(ho.range(Math.ceil(s/_)*_,o,_).filter(function(e){return So(e%v)>jo}).map(d))}var n,r,a,i,o,s,u,l,c,d,f,h,p=10,_=p,m=90,v=360,g=2.5;return e.lines=function(){return t().map(function(e){return{type:"LineString",coordinates:e}})},e.outline=function(){return{type:"Polygon",coordinates:[f(i).concat(h(u).slice(1),f(a).reverse().slice(1),h(l).reverse().slice(1))]}},e.extent=function(t){return arguments.length?e.majorExtent(t).minorExtent(t):e.minorExtent()},e.majorExtent=function(t){return arguments.length?(i=+t[0][0],a=+t[1][0],l=+t[0][1],u=+t[1][1],i>a&&(t=i,i=a,a=t),l>u&&(t=l,l=u,u=t),e.precision(g)):[[i,l],[a,u]]},e.minorExtent=function(t){return arguments.length?(r=+t[0][0],n=+t[1][0],s=+t[0][1],o=+t[1][1],r>n&&(t=r,r=n,n=t),s>o&&(t=s,s=o,o=t),e.precision(g)):[[r,s],[n,o]]},e.step=function(t){return arguments.length?e.majorStep(t).minorStep(t):e.minorStep()},e.majorStep=function(t){return arguments.length?(m=+t[0],v=+t[1],e):[m,v]},e.minorStep=function(t){return arguments.length?(p=+t[0],_=+t[1],e):[p,_]},e.precision=function(t){return arguments.length?(g=+t,c=Tn(s,o,90),d=Sn(r,n,g),f=Tn(l,u,90),h=Sn(i,a,g),e):g},e.majorExtent([[-180,-90+jo],[180,90-jo]]).minorExtent([[-180,-80-jo],[180,80+jo]])},ho.geo.greatArc=function(){function e(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),n||a.apply(this,arguments)]}}var t,n,r=bn,a=Ln;return e.distance=function(){return ho.geo.distance(t||r.apply(this,arguments),n||a.apply(this,arguments))},e.source=function(n){return arguments.length?(r=n,t="function"==typeof n?null:n,e):r},e.target=function(t){return arguments.length?(a=t,n="function"==typeof t?null:t,e):a},e.precision=function(){return arguments.length?e:0},e},ho.geo.interpolate=function(e,t){return kn(e[0]*Bo,e[1]*Bo,t[0]*Bo,t[1]*Bo)},ho.geo.length=function(e){return $s=0,ho.geo.stream(e,eu),$s};var $s,eu={sphere:k,point:k,lineStart:wn,lineEnd:k,polygonStart:k,polygonEnd:k},tu=Cn(function(e){return Math.sqrt(2/(1+e))},function(e){return 2*Math.asin(e/2)});(ho.geo.azimuthalEqualArea=function(){return dn(tu)}).raw=tu;var nu=Cn(function(e){var t=Math.acos(e);return t&&t/Math.sin(t)},S);(ho.geo.azimuthalEquidistant=function(){return dn(nu)}).raw=nu,(ho.geo.conicConformal=function(){return Qt(Dn)}).raw=Dn,(ho.geo.conicEquidistant=function(){return Qt(Rn)}).raw=Rn;var ru=Cn(function(e){return 1/e},Math.atan);(ho.geo.gnomonic=function(){return dn(ru)}).raw=ru,xn.invert=function(e,t){return[e,2*Math.atan(Math.exp(t))-Go]},(ho.geo.mercator=function(){return Nn(xn)}).raw=xn;var au=Cn(function(){return 1},Math.asin);(ho.geo.orthographic=function(){return dn(au)}).raw=au;var iu=Cn(function(e){return 1/(1+e)},function(e){return 2*Math.atan(e)});(ho.geo.stereographic=function(){return dn(iu)}).raw=iu,On.invert=function(e,t){return[-t,2*Math.atan(Math.exp(e))-Go]},(ho.geo.transverseMercator=function(){var e=Nn(On),t=e.center,n=e.rotate;return e.center=function(e){return e?t([-e[1],e[0]]):(e=t(),[e[1],-e[0]])},e.rotate=function(e){return e?n([e[0],e[1],e.length>2?e[2]+90:90]):(e=n(),[e[0],e[1],e[2]-90])},n([0,0,90])}).raw=On,ho.geom={},ho.geom.hull=function(e){function t(e){if(e.length<3)return[];var t,a=xe(n),i=xe(r),o=e.length,s=[],u=[];for(t=0;t=0;--t)h.push(e[s[l[t]][2]]);for(t=+d;t=r&&l.x<=i&&l.y>=a&&l.y<=o?[[r,o],[i,o],[i,a],[r,a]]:[];c.point=e[s]}),t}function n(e){return e.map(function(e,t){return{x:Math.round(i(e,t)/jo)*jo,y:Math.round(o(e,t)/jo)*jo,i:t}})}var r=An,a=Yn,i=r,o=a,s=pu;return e?t(e):(t.links=function(e){return fr(n(e)).edges.filter(function(e){return e.l&&e.r}).map(function(t){return{source:e[t.l.i],target:e[t.r.i]}})},t.triangles=function(e){var t=[];return fr(n(e)).cells.forEach(function(n,r){for(var a,i,o=n.site,s=n.edges.sort(Kn),u=-1,l=s.length,c=s[l-1].edge,d=c.l===o?c.r:c.l;++u=l,f=r>=c,h=f<<1|d;e.leaf=!1,e=e.nodes[h]||(e.nodes[h]=vr()),d?a=l:s=l,f?o=c:u=c,i(e,t,n,r,a,o,s,u)}var c,d,f,h,p,_,m,v,g,y=xe(s),E=xe(u);if(null!=t)_=t,m=n,v=r,g=a;else if(v=g=-(_=m=1/0),d=[],f=[],p=e.length,o)for(h=0;hv&&(v=c.x),c.y>g&&(g=c.y),d.push(c.x),f.push(c.y);else for(h=0;h
v&&(v=M),T>g&&(g=T),d.push(M),f.push(T)}var S=v-_,b=g-m;S>b?g=m+S:v=_+b;var L=vr();if(L.add=function(e){i(L,e,+y(e,++h),+E(e,h),_,m,v,g)},L.visit=function(e){gr(e,L,_,m,v,g)},L.find=function(e){return yr(L,e[0],e[1],_,m,v,g)},h=-1,null==t){for(;++h
=0?e.slice(0,t):e,r=t>=0?e.slice(t+1):"in";return n=gu.get(n)||vu,r=yu.get(r)||S,kr(r(n.apply(null,po.call(arguments,1))))},ho.interpolateHcl=Hr,ho.interpolateHsl=jr,ho.interpolateLab=Ur,ho.interpolateRound=Wr,ho.transform=function(e){var t=mo.createElementNS(ho.ns.prefix.svg,"g");return(ho.transform=function(e){if(null!=e){t.setAttribute("transform",e);var n=t.transform.baseVal.consolidate()}return new Vr(n?n.matrix:Eu)})(e)},Vr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Eu={a:1,b:0,c:0,d:1,e:0,f:0};ho.interpolateTransform=Xr,ho.layout={},ho.layout.bundle=function(){return function(e){for(var t=[],n=-1,r=e.length;++n0?a=e:(n.c=null,n.t=NaN,n=null,l.end({type:"end",alpha:a=0})):e>0&&(l.start({type:"start",alpha:a=e}),n=Pe(u.tick)),u):a},u.start=function(){function e(e,r){if(!n){for(n=new Array(a),u=0;u=0;)o.push(c=l[u]),c.parent=i,c.depth=i.depth+1;r&&(i.value=0),i.children=l}else r&&(i.value=+r.call(e,i,i.depth)||0),delete i.children;return da(a,function(e){var n,a;t&&(n=e.children)&&n.sort(t),r&&(a=e.parent)&&(a.value+=e.value)}),s}var t=pa,n=fa,r=ha;return e.sort=function(n){return arguments.length?(t=n,e):t},e.children=function(t){return arguments.length?(n=t,e):n},e.value=function(t){return arguments.length?(r=t,e):r},e.revalue=function(t){return r&&(ca(t,function(e){e.children&&(e.value=0)}),da(t,function(t){var n;t.children||(t.value=+r.call(e,t,t.depth)||0),(n=t.parent)&&(n.value+=t.value)})),t},e},ho.layout.partition=function(){function e(t,n,r,a){var i=t.children;if(t.x=n,t.y=t.depth*a,t.dx=r,t.dy=a,i&&(o=i.length)){var o,s,u,l=-1;for(r=t.value?r/t.value:0;++ls&&(s=r),o.push(r)}for(n=0;n0)for(i=-1;++i=c[0]&&s<=c[1]&&(o=u[ho.bisect(d,s,1,h)-1],o.y+=p,o.push(e[i]));return u}var t=!0,n=Number,r=ka,a=ba;return e.value=function(t){return arguments.length?(n=t,e):n},e.range=function(t){return arguments.length?(r=xe(t),e):r},e.bins=function(t){return arguments.length?(a="number"==typeof t?function(e){return La(e,t)}:xe(t),e):a},e.frequency=function(n){return arguments.length?(t=!!n,e):t},e},ho.layout.pack=function(){function e(e,i){var o=n.call(this,e,i),s=o[0],u=a[0],l=a[1],c=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,da(s,function(e){e.r=+c(e.value)}),da(s,xa),r){var d=r*(t?1:Math.max(2*s.r/u,2*s.r/l))/2;da(s,function(e){e.r+=d}),da(s,xa),da(s,function(e){e.r-=d})}return Aa(s,u/2,l/2,t?1:1/Math.max(2*s.r/u,2*s.r/l)),o}var t,n=ho.layout.hierarchy().sort(wa),r=0,a=[1,1];return e.size=function(t){return arguments.length?(a=t,e):a},e.radius=function(n){return arguments.length?(t=null==n||"function"==typeof n?n:+n,e):t},e.padding=function(t){return arguments.length?(r=+t,e):r},la(e,n)},ho.layout.tree=function(){function e(e,a){var c=o.call(this,e,a),d=c[0],f=t(d);if(da(f,n),f.parent.m=-f.z,ca(f,r),l)ca(d,i);else{var h=d,p=d,_=d;ca(d,function(e){e.xp.x&&(p=e),e.depth>_.depth&&(_=e)});var m=s(h,p)/2-h.x,v=u[0]/(p.x+s(p,h)/2+m),g=u[1]/(_.depth||1);ca(d,function(e){e.x=(e.x+m)*v,e.y=e.depth*g})}return c}function t(e){for(var t,n={A:null,children:[e]},r=[n];null!=(t=r.pop());)for(var a,i=t.children,o=0,s=i.length;o0&&(Ha(Ua(o,e,n),e,r),l+=r,c+=r),d+=o.m,l+=a.m,f+=u.m,c+=i.m;o&&!Fa(i)&&(i.t=o,i.m+=d-c),a&&!Ia(u)&&(u.t=a,u.m+=l-f,n=e)}return n}function i(e){e.x*=u[0],e.y=e.depth*u[1]}var o=ho.layout.hierarchy().sort(null).value(null),s=Pa,u=[1,1],l=null;return e.separation=function(t){return arguments.length?(s=t,e):s},e.size=function(t){return arguments.length?(l=null==(u=t)?i:null,e):l?null:u},e.nodeSize=function(t){return arguments.length?(l=null==(u=t)?null:i,e):l?u:null},la(e,o)},ho.layout.cluster=function(){function e(e,i){var o,s=t.call(this,e,i),u=s[0],l=0;da(u,function(e){var t=e.children;t&&t.length?(e.x=Va(t),e.y=Wa(t)):(e.x=o?l+=n(e,o):0,e.y=0,o=e)});var c=za(u),d=Ga(u),f=c.x-n(c,d)/2,h=d.x+n(d,c)/2;return da(u,a?function(e){e.x=(e.x-u.x)*r[0],e.y=(u.y-e.y)*r[1]}:function(e){e.x=(e.x-f)/(h-f)*r[0],e.y=(1-(u.y?e.y/u.y:1))*r[1]}),s}var t=ho.layout.hierarchy().sort(null).value(null),n=Pa,r=[1,1],a=!1;return e.separation=function(t){return arguments.length?(n=t,e):n},e.size=function(t){return arguments.length?(a=null==(r=t),e):a?null:r},e.nodeSize=function(t){return arguments.length?(a=null!=(r=t),e):a?r:null},la(e,t)},ho.layout.treemap=function(){function e(e,t){for(var n,r,a=-1,i=e.length;++a0;)c.push(o=f[u-1]),c.area+=o.area,"squarify"!==h||(s=r(c,_))<=p?(f.pop(),p=s):(c.area-=c.pop().area,a(c,_,l,!1),_=Math.min(l.dx,l.dy),c.length=c.area=0,p=1/0);c.length&&(a(c,_,l,!0),c.length=c.area=0),i.forEach(t)}}function n(t){var r=t.children;if(r&&r.length){var i,o=d(t),s=r.slice(),u=[];for(e(s,o.dx*o.dy/t.value),u.area=0;i=s.pop();)u.push(i),u.area+=i.area,null!=i.z&&(a(u,i.z?o.dx:o.dy,o,!s.length),u.length=u.area=0);r.forEach(n)}}function r(e,t){for(var n,r=e.area,a=0,i=1/0,o=-1,s=e.length;++oa&&(a=n));return r*=r,t*=t,r?Math.max(t*a*p/r,r/(t*i*p)):1/0}function a(e,t,n,r){var a,i=-1,o=e.length,s=n.x,l=n.y,c=t?u(e.area/t):0;if(t==n.dx){for((r||c>n.dy)&&(c=n.dy);++in.dx)&&(c=n.dx);++i1);return e+t*n*Math.sqrt(-2*Math.log(a)/a)}},logNormal:function(){var e=ho.random.normal.apply(ho,arguments);return function(){return Math.exp(e())}},bates:function(e){var t=ho.random.irwinHall(e);return function(){return t()/e}},irwinHall:function(e){return function(){for(var t=0,n=0;nd?0:1;if(l=zo)return t(l,h)+(e?t(e,1-h):"")+"Z";var p,_,m,v,g,y,E,M,T,S,b,L,k=0,w=0,C=[];if((v=(+u.apply(this,arguments)||0)/2)&&(m=i===Yu?Math.sqrt(e*e+l*l):+i.apply(this,arguments),h||(w*=-1),l&&(w=oe(m/l*Math.sin(v))),e&&(k=oe(m/e*Math.sin(v)))),l){g=l*Math.cos(c+w),y=l*Math.sin(c+w),E=l*Math.cos(d-w),M=l*Math.sin(d-w);var D=Math.abs(d-c-2*w)<=Wo?0:1;if(w&&Ti(g,y,E,M)===h^D){var R=(c+d)/2;g=l*Math.cos(R),y=l*Math.sin(R),E=M=null}}else g=y=0;if(e){T=e*Math.cos(d-k),S=e*Math.sin(d-k),b=e*Math.cos(c+k),L=e*Math.sin(c+k);var x=Math.abs(c-d+2*k)<=Wo?0:1;if(k&&Ti(T,S,b,L)===1-h^x){var N=(c+d)/2;T=e*Math.cos(N),S=e*Math.sin(N),b=L=null}}else T=S=0;if(f>jo&&(p=Math.min(Math.abs(l-e)/2,+a.apply(this,arguments)))>.001){_=eWo)+",1 "+t}function a(e,t,n,r){return"Q 0,0 "+r}var i=bn,o=Ln,s=qi,u=yi,l=Ei;return e.radius=function(t){return arguments.length?(s=xe(t),e):s},e.source=function(t){return arguments.length?(i=xe(t),e):i},e.target=function(t){return arguments.length?(o=xe(t),e):o},e.startAngle=function(t){return arguments.length?(u=xe(t),e):u},e.endAngle=function(t){return arguments.length?(l=xe(t),e):l},e},ho.svg.diagonal=function(){function e(e,a){var i=t.call(this,e,a),o=n.call(this,e,a),s=(i.y+o.y)/2,u=[i,{x:i.x,y:s},{x:o.x,y:s},o];return u=u.map(r),"M"+u[0]+"C"+u[1]+" "+u[2]+" "+u[3]}var t=bn,n=Ln,r=Ji;return e.source=function(n){return arguments.length?(t=xe(n),e):t},e.target=function(t){return arguments.length?(n=xe(t),e):n},e.projection=function(t){return arguments.length?(r=t,e):r},e},ho.svg.diagonal.radial=function(){var e=ho.svg.diagonal(),t=Ji,n=e.projection;return e.projection=function(e){return arguments.length?n(Qi(t=e)):t},e},ho.svg.symbol=function(){function e(e,r){return(ju.get(t.call(this,e,r))||Xi)(n.call(this,e,r))}var t=Zi,n=Ki;return e.type=function(n){return arguments.length?(t=xe(n),e):t},e.size=function(t){return arguments.length?(n=xe(t),e):n},e};var ju=ho.map({circle:Xi,cross:function(e){var t=Math.sqrt(e/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(e){var t=Math.sqrt(e/(2*Wu)),n=t*Wu;return"M0,"+-t+"L"+n+",0 0,"+t+" "+-n+",0Z"},square:function(e){var t=Math.sqrt(e)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(e){var t=Math.sqrt(e/Uu),n=t*Uu/2;return"M0,"+n+"L"+t+","+-n+" "+-t+","+-n+"Z"},"triangle-up":function(e){var t=Math.sqrt(e/Uu),n=t*Uu/2;return"M0,"+-n+"L"+t+","+n+" "+-t+","+n+"Z"}});ho.svg.symbolTypes=ju.keys();var Uu=Math.sqrt(3),Wu=Math.tan(30*Bo);No.transition=function(e){for(var t,n,r=Vu||++qu,a=ro(e),i=[],o=zu||{time:Date.now(),ease:xr,delay:0,duration:250},s=-1,u=this.length;++srect,.s>rect").attr("width",d[1]-d[0])}function r(e){e.select(".extent").attr("y",f[0]),e.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function a(){function a(){32==ho.event.keyCode&&(C||(y=null,x[0]-=d[1],x[1]-=f[1],C=2),D())}function _(){32==ho.event.keyCode&&2==C&&(x[0]+=d[1],x[1]+=f[1],C=0,D())}function m(){var e=ho.mouse(M),a=!1;E&&(e[0]+=E[0],e[1]+=E[1]),C||(ho.event.altKey?(y||(y=[(d[0]+d[1])/2,(f[0]+f[1])/2]),x[0]=d[+(e[0]0?g.default.createElement("span",{className:"notifications__badge"},this.state.count.total):null}},{key:"getBottomToolbar",value:function(){if(this.state.count.total>0){var e=(0,_.default)("toolbar__item toolbar__item--button","tooltip__content--padding-surrogate",{"is-disabled":0===this.state.paginationStart}),t=(0,_.default)("toolbar__item toolbar__item--button","tooltip__content--padding-surrogate",{"is-disabled":this.state.paginationStart+H>=this.state.count.total}),n=this.state.paginationStart+H+1,r=this.state.paginationStart+2*H,a=this.state.paginationStart-H,i=this.state.paginationStart;return r>this.state.count.total&&(r=this.state.count.total),a<0&&(a=0),g.default.createElement("ul",{className:"notifications__toolbar toolbar toolbar--dark toolbar--bottom"},g.default.createElement("li",{className:e,onClick:this.handleNewerNotificationsClick},g.default.createElement(E.default,null)," ",a+1," – ",i),g.default.createElement("li",{className:"toolbar__item toolbar__item--button tooltip__content--padding-surrogate",onClick:this.handleClearNotificationsClick},this.props.intl.formatMessage(I.clearAll)),g.default.createElement("li",{className:t,onClick:this.handleOlderNotificationsClick},n," – ",r," ",g.default.createElement(T.default,null)))}return null}},{key:"getNotification",value:function(e,t){var n=this.props.intl.formatDate(e.ts,{year:"numeric",month:"long",day:"2-digit"}),r=this.props.intl.formatTime(e.ts),a=null;return a="notification.feed.downloaded.torrent"===e.id?g.default.createElement(m.FormattedMessage,{id:e.id+".body",defaultMessage:"{matchedDetails} — {title}",values:{matchedDetails:g.default.createElement("strong",{className:"notification__message__sub-heading"},e.data.ruleLabel," / ",e.data.feedLabel),title:e.data.title}}):this.props.intl.formatMessage(I[e.id+".body"],e.data),g.default.createElement("li",{className:"notifications__list__item",key:t},g.default.createElement("div",{className:"notification__heading"},g.default.createElement("span",{className:"notification__category"},this.props.intl.formatMessage(I[e.id+".heading"]))," — ",g.default.createElement("span",{className:"notification__timestamp"},n," ",this.props.intl.formatMessage(I.at)," ",r)),g.default.createElement("div",{className:"notification__message"},a))}},{key:"getTopToolbar",value:function(){if(this.state.count.total>H){var e=this.state.paginationStart+1,t=this.state.paginationStart+H;return e>this.state.count.total&&(e=this.state.count.total),t>this.state.count.total&&(t=this.state.count.total),g.default.createElement("div",{className:"toolbar toolbar--dark toolbar--top tooltip__toolbar tooltip__content--padding-surrogate"},g.default.createElement("span",{className:"toolbar__item toolbar__item--label"},this.props.intl.formatMessage(I.showing)+" ",g.default.createElement("strong",null,e," "+this.props.intl.formatMessage(I.to)+" ",t)," "+this.props.intl.formatMessage(I.of)+" ",g.default.createElement("strong",null,this.state.count.total)))}return null}},{key:"getTooltipContent",value:function(){if(0===this.state.count.total)return g.default.createElement("div",{className:"notifications--empty tooltip__content--padding-surrogate"},this.props.intl.formatMessage(I.notifications));var e=this.getBottomToolbar(),t=this.getTopToolbar();return g.default.createElement("div",null,t,g.default.createElement(b.default,{autoHeight:!0,autoHeightMin:0,autoHeightMax:300,inverted:!0},g.default.createElement("ul",{className:"notifications__list tooltip__content--padding-surrogate"},this.state.notifications.map(this.getNotification))),e)}},{key:"handleClearNotificationsClick",value:function(){this.setState({paginationStart:0}),R.default.clearAll({id:"notification-tooltip",limit:H}),null!=this.tooltipRef&&this.tooltipRef.dismissTooltip()}},{key:"handleNotificationFetchError",value:function(){Y.default.satisfyDependency("notifications")}},{key:"handleNotificationFetchSuccess",value:function(){Y.default.satisfyDependency("notifications");var e=R.default.getNotifications("notification-tooltip");e||(e={count:P,notifications:[]}),this.setState(e)}},{key:"handleNewerNotificationsClick",value:function(){this.state.paginationStart-H>=0&&(this.setState({paginationStart:this.state.paginationStart-H}),R.default.fetchNotifications({id:"notification-tooltip",limit:H,start:this.state.paginationStart-H}))}},{key:"handleOlderNotificationsClick",value:function(){this.state.count.total>this.state.paginationStart+H&&(this.setState({paginationStart:this.state.paginationStart+H}),R.default.fetchNotifications({id:"notification-tooltip",limit:H,start:this.state.paginationStart+H}))}},{key:"render",value:function(){var e=this;return g.default.createElement(N.default,{contentClassName:"tooltip__content tooltip__content--no-padding",content:this.getTooltipContent(),interactive:!0,ref:function(t){return e.tooltipRef=t},width:0===this.state.count.total?null:340,position:"bottom",wrapperClassName:"sidebar__action sidebar__icon-button tooltip__wrapper"},g.default.createElement(C.default,null),this.getBadge())}}]),t}(g.default.Component);t.default=(0,m.injectIntl)(j)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--chevron-left "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("polygon",{points:"41.34 1.2 47.35 7.21 24.6 29.96 47.42 52.79 41.41 58.8 12.58 29.96 41.34 1.2"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--chevron-right "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("polygon",{points:"18.66 58.8 12.65 52.79 35.4 30.04 12.58 7.21 18.59 1.2 47.42 30.04 18.66 58.8"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--notification "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M46.92,19.29c0-6.43-5.26-13.46-14-14.77a3.4,3.4,0,0,0,.27-1.31,3.17,3.17,0,1,0-6.35,0,3.42,3.42,0,0,0,.26,1.31c-8.76,1.31-14,8.34-14,14.77C13.08,35.46,7.39,44,2.5,48.16a4.29,4.29,0,0,0,4.23,4.29H21.54c0,4.72,3.8,7.56,8.46,7.56s8.46-2.83,8.46-7.56H53.27a4.29,4.29,0,0,0,4.23-4.29C52.61,44,46.92,35.46,46.92,19.29ZM34.3,45c0,4.42-1.92,6.55-4.3,6.55S25.7,49.43,25.7,45h-11a53.45,53.45,0,0,0,6.92-25.73c0-1.77,1.49-6.37,8.32-6.37s8.34,4.6,8.34,6.37A53.46,53.46,0,0,0,45.26,45h-11Z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(636),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(655),v=r(m),g=n(656),y=r(g),E=n(686),M=r(E),T=n(685),S=r(T),b=n(688),L=r(b),k=n(694),w=r(k),C=S.default.getPollInterval(),D=function(e){function t(){(0,l.default)(this,t);var e=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this));return e.notifications={},e.ongoingPolls={},e}return(0,_.default)(t,e),(0,d.default)(t,[{key:"clearAll",value:function(e){this.notifications={},w.default.clearNotifications(e)}},{key:"fetchNotifications",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.isRequestPending("fetch-notifications")&&!e.forceUpdate||(this.beginRequest("fetch-notifications"),w.default.fetchNotifications(e)),null==this.ongoingPolls[e.id]?this.startPollingNotifications(e):this.updateOngingNotificationsPoll(e)}},{key:"getNotifications",value:function(e){return this.notifications[e]}},{key:"handleNotificationsClearSuccess",value:function(e){this.fetchNotifications((0,i.default)({},e,{start:0}))}},{key:"handleNotificationsFetchError",value:function(e){this.resolveRequest("fetch-notifications"),this.emit(L.default.NOTIFICATIONS_FETCH_ERROR)}},{key:"handleNotificationsFetchSuccess",value:function(e){this.resolveRequest("fetch-notifications"),this.notifications[e.id]=e,this.emit(L.default.NOTIFICATIONS_FETCH_SUCCESS)}},{key:"startPollingNotifications",value:function(e){this.ongoingPolls[e.id]=(0,i.default)({},e,{intervalID:setInterval(this.fetchNotifications.bind(this,e),C)})}},{key:"stopPollingNotifications",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.ongoingPolls[e.id]&&(clearInterval(this.ongoingPolls[e.id].intervalID),delete this.ongoingPolls[e.id])}},{key:"updateOngingNotificationsPoll",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.ongoingPolls[e.id]&&(clearInterval(this.ongoingPolls[e.id].intervalID),this.startPollingNotifications(e))}}]),t}(M.default),R=new D;R.dispatcherID=y.default.register(function(e){var t=e.action;e.source;switch(t.type){case v.default.FLOOD_CLEAR_NOTIFICATIONS_SUCCESS:R.handleNotificationsClearSuccess(t.data);break;case v.default.FLOOD_FETCH_NOTIFICATIONS_ERROR:R.handleNotificationsFetchError(t.error);break;case v.default.FLOOD_FETCH_NOTIFICATIONS_SUCCESS:R.handleNotificationsFetchSuccess(t.data)}}),t.default=R},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(385),_=n(644),m=r(_),v=n(404),g=r(v),y=n(691),E=r(y),M=n(688),T=r(M),S=n(764),b=r(S),L=n(709),k=r(L),w=n(710),C=r(w),D=["handleExternalSearchChange","handleSearchChange","resetSearch"],R=function(e){function t(){(0,s.default)(this,t);var e=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this));return e.state={searchValue:""},D.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,h.default)(t,e),(0,l.default)(t,[{key:"componentDidMount",value:function(){k.default.listen(T.default.UI_TORRENTS_FILTER_SEARCH_CHANGE,this.handleExternalSearchChange)}},{key:"componentWillUnmount",value:function(){k.default.unlisten(T.default.UI_TORRENTS_FILTER_SEARCH_CHANGE,this.handleExternalSearchChange)}},{key:"handleExternalSearchChange",value:function(){this.setState({searchValue:k.default.getSearchFilter()})}},{key:"handleSearchChange",value:function(e){var t=e.target.value;this.setState({searchValue:t}),C.default.setTorrentsSearchFilter(t)}},{key:"isSearchActive",value:function(){return""!==this.state.searchValue}},{key:"resetSearch",value:function(){this.setState({searchValue:""}),C.default.setTorrentsSearchFilter("")}},{key:"render",value:function(){var e=null,t=(0,m.default)({sidebar__item:!0,search:!0,"is-in-use":this.isSearchActive()});return this.isSearchActive()&&(e=g.default.createElement("div",{className:"button search__reset-button",onClick:this.resetSearch},g.default.createElement(E.default,null))),g.default.createElement("div",{className:t},e,g.default.createElement(b.default,null),g.default.createElement("input",{className:"textbox",type:"text",placeholder:this.props.intl.formatMessage({id:"sidebar.search.placeholder",defaultMessage:"Search torrents"}),onChange:this.handleSearchChange,value:this.state.searchValue}))}}]),t}(g.default.Component);t.default=(0,p.injectIntl)(R)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(385),_=n(404),m=r(_),v=n(972),g=r(v),y=n(739),E=r(y),M=n(710),T=r(M),S=(0,p.defineMessages)({settings:{id:"sidebar.button.settings",defaultMessage:"Settings"}}),b=["handleSettingsButtonClick"],L=function(e){function t(){(0,s.default)(this,t);var e=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this));return e.tooltipRef=null,b.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,h.default)(t,e),(0,l.default)(t,[{key:"handleSettingsButtonClick",value:function(){null!=this.tooltipRef&&this.tooltipRef.dismissTooltip(),T.default.displayModal({id:"settings"})}},{key:"render",value:function(){var e=this,t=this.props.intl.formatMessage(S.settings);return m.default.createElement(E.default,{content:t,onClick:this.handleSettingsButtonClick,ref:function(t){return e.tooltipRef=t},position:"bottom",wrapperClassName:"sidebar__action sidebar__icon-button sidebar__icon-button--interactive tooltip__wrapper"},m.default.createElement(g.default,null))}}]),t}(m.default.Component);t.default=(0,p.injectIntl)(L)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--settings "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M55.63,33.77a1.28,1.28,0,0,1-.93,1.2l-6.17.93a18.92,18.92,0,0,1-1.3,3c1.14,1.63,2.34,3.1,3.57,4.61a1.31,1.31,0,0,1,.33.83,1.12,1.12,0,0,1-.3.77c-0.8,1.07-5.3,6-6.44,6a1.69,1.69,0,0,1-.87-0.3l-4.61-3.6a20.08,20.08,0,0,1-3,1.27,43.68,43.68,0,0,1-1,6.21,1.22,1.22,0,0,1-1.2.93H26.3a1.19,1.19,0,0,1-1.2-1l-0.93-6.14a19.62,19.62,0,0,1-3-1.23l-4.71,3.57a1.28,1.28,0,0,1-.83.3,1.19,1.19,0,0,1-.83-0.37,41.67,41.67,0,0,1-5.5-5.61A1.3,1.3,0,0,1,9,44.38a1.26,1.26,0,0,1,.27-0.77c1.13-1.54,2.37-3,3.5-4.57a17.8,17.8,0,0,1-1.37-3.3l-6.11-.9a1.22,1.22,0,0,1-1-1.2V26.23a1.29,1.29,0,0,1,.9-1.2l6.21-.93A17.66,17.66,0,0,1,12.78,21c-1.13-1.6-2.34-3.1-3.57-4.61a1.23,1.23,0,0,1-.33-0.8,1.29,1.29,0,0,1,.3-0.77c0.8-1.1,5.3-6,6.44-6a1.49,1.49,0,0,1,.87.33l4.6,3.57a20.07,20.07,0,0,1,3-1.27,43.68,43.68,0,0,1,1-6.21,1.22,1.22,0,0,1,1.2-.93H33.7a1.19,1.19,0,0,1,1.2,1l0.93,6.14a19.66,19.66,0,0,1,3,1.23l4.74-3.57a1.13,1.13,0,0,1,.8-0.3,1.32,1.32,0,0,1,.84.33,42.16,42.16,0,0,1,5.51,5.67,1.14,1.14,0,0,1,.23.73,1.26,1.26,0,0,1-.27.77c-1.13,1.53-2.37,3-3.5,4.57a18.51,18.51,0,0,1,1.37,3.27l6.11,0.93a1.22,1.22,0,0,1,1,1.2v7.41ZM30,21.46A8.54,8.54,0,1,0,38.54,30,8.56,8.56,0,0,0,30,21.46Z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("div",{className:"sidebar__actions"},this.props.children)}}]),t}(_.default.Component);t.default=m},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(385),m=n(404),v=r(m),g=n(706),y=r(g),E=n(777),M=r(E),T=n(688),S=r(T),b=n(975),L=r(b),k=n(705),w=r(k),C=n(933),D=r(C),R=n(739),x=r(R),N=n(957),O=r(N),A=(0,p.defineMessages)({speedLimits:{defaultMessage:"Speed Limits",id:"sidebar.button.speedlimits"},unlimited:{defaultMessage:"Unlimited",id:"speed.unlimited"}}),Y=["handleDropdownOpen","handleSettingsFetchRequestSuccess","onTransferDataRequestSuccess"],P=function(e){function t(){(0,s.default)(this,t);var e=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this));return e.state={speedLimits:w.default.getFloodSettings("speedLimits"),throttle:null},e.tooltip=null,Y.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,h.default)(t,e),(0,l.default)(t,[{key:"componentDidMount",value:function(){w.default.listen(S.default.SETTINGS_CHANGE,this.handleSettingsFetchRequestSuccess),O.default.listen(S.default.CLIENT_TRANSFER_DATA_REQUEST_SUCCESS,this.onTransferDataRequestSuccess),O.default.fetchTransferData()}},{key:"componentWillUnmount",value:function(){w.default.unlisten(S.default.SETTINGS_CHANGE,this.handleSettingsFetchRequestSuccess),O.default.unlisten(S.default.CLIENT_TRANSFER_DATA_REQUEST_SUCCESS,this.onTransferDataRequestSuccess)}},{key:"onTransferDataRequestSuccess",value:function(){this.setState({throttle:O.default.getThrottles({latest:!0})})}},{key:"getDropdownHeader",value:function(){return v.default.createElement("a",{className:"sidebar__icon-button sidebar__icon-button--interactive sidebar__icon-button--limits",title:this.props.intl.formatMessage(A.speedLimits)},v.default.createElement(L.default,null),v.default.createElement(p.FormattedMessage,A.speedLimits))}},{key:"getDropdownTrigger",value:function(){var e=this,t=this.props.intl.formatMessage(A.speedLimits);return v.default.createElement(x.default,{content:t,position:"bottom",ref:function(t){e.tooltip=t},wrapperClassName:"sidebar__icon-button tooltip__wrapper"},v.default.createElement(L.default,null))}},{key:"getHumanReadableSpeed",value:function(e){return 0===e?this.props.intl.formatMessage(A.unlimited):v.default.createElement(D.default,{value:e,isSpeed:!0,precision:1})}},{key:"getSpeedList",value:function(e){var t=this,n={className:"dropdown__label dropdown__label--"+e,displayName:""+e.charAt(0).toUpperCase()+e.slice(1),selectable:!1,value:null},r=!0,a=this.state.throttle,i=this.state.speedLimits[e],o=i.map(function(n){var i=!1;return n=Number(n),a&&a[e]===n&&(i=!0,r=!1),{displayName:t.getHumanReadableSpeed(n),property:e,selected:i,selectable:!0,value:n}});if(r&&a){var s=_.sortedIndex(i,a[e]);o.splice(s,0,{displayName:this.getHumanReadableSpeed(a[e]),property:e,selected:!0,selectable:!0,value:a[e]})}return o.unshift(n),o}},{key:"getDropdownMenus",value:function(){return[this.getSpeedList("download"),this.getSpeedList("upload")]}},{key:"handleDropdownOpen",value:function(){this.tooltip.dismissTooltip()}},{key:"handleItemSelect",value:function(e){y.default.setThrottle(e.property,e.value)}},{key:"handleSettingsFetchRequestSuccess",value:function(){var e=w.default.getFloodSettings("speedLimits");e&&this.setState({speedLimits:e})}},{key:"render",value:function(){return v.default.createElement(M.default,{dropdownWrapperClass:"dropdown dropdown--speed-limits sidebar__action",handleItemSelect:this.handleItemSelect,header:this.getDropdownHeader(),menuItems:this.getDropdownMenus(),onOpen:this.handleDropdownOpen,trigger:this.getDropdownTrigger()})}}]),t}(v.default.Component);t.default=(0,p.injectIntl)(P)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--limits "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{className:"limits__bars--bottom",d:"M24.4,48.5c0,3.3,2.5,6,5.6,6s5.6-2.7,5.6-6V18.6H24.4V48.5z M4.4,48.2c0,3.5,2.5,6.3,5.6,6.3 s5.6-2.8,5.6-6.3v-9.3H4.4V48.2z M44.4,30v18.2c0,3.5,2.5,6.3,5.6,6.3s5.6-2.8,5.6-6.3V30H44.4z"}),_.default.createElement("path",{className:"limits__bars--top",d:"M24.4,18.7v-7.6c0-3.1,2.5-5.5,5.6-5.5s5.6,2.5,5.6,5.5v7.6H24.4z"}),_.default.createElement("path",{className:"limits__bars--top",d:"M4.4,38.9v-27c0-3.5,2.5-6.3,5.6-6.3s5.6,2.8,5.6,6.3v27H4.4z"}),_.default.createElement("path",{className:"limits__bars--top",d:"M44.4,29.9V11.8c0-3.5,2.5-6.3,5.6-6.3s5.6,2.8,5.6,6.3v18.1H44.4z"}),_.default.createElement("path",{className:"limits__bars--middle",d:"M22.2,16.4h15.6c1.2,0,2.2,1,2.2,2.2c0,1.2-1,2.2-2.2,2.2H22.2c-1.2,0-2.2-1-2.2-2.2 C20,17.4,21,16.4,22.2,16.4z"}),_.default.createElement("path",{className:"limits__bars--middle",d:"M2.2,36.7h15.6c1.2,0,2.2,1,2.2,2.2c0,1.2-1,2.2-2.2,2.2H2.2c-1.2,0-2.2-1-2.2-2.2C0,37.7,1,36.7,2.2,36.7z"}),_.default.createElement("path",{className:"limits__bars--middle",d:"M42.2,27.8h15.6c1.2,0,2.2,1,2.2,2.2s-1,2.2-2.2,2.2H42.2c-1.2,0-2.2-1-2.2-2.2S41,27.8,42.2,27.8z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(385),_=n(644),m=(r(_),n(404)),v=r(m),g=n(977),y=r(g),E=n(978),M=r(E),T=n(979),S=r(T),b=n(980),L=r(b),k=n(738),w=r(k),C=n(688),D=r(C),R=n(981),x=r(R),N=n(982),O=r(N),A=n(946),Y=r(A),P=n(709),I=r(P),F=n(697),H=(r(F),n(710)),j=r(H),U=["getFilters","handleClick","onStatusFilterChange","onTorrentTaxonomyChange"],W=function(e){function t(){(0,s.default)(this,t);var e=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this));return e.state={statusCount:{},statusFilter:I.default.getStatusFilter(),trackerFilter:I.default.getTrackerFilter()},U.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,h.default)(t,e),(0,l.default)(t,[{key:"componentDidMount",value:function(){I.default.listen(D.default.CLIENT_FETCH_TORRENT_TAXONOMY_SUCCESS,this.onTorrentTaxonomyChange),I.default.listen(D.default.UI_TORRENTS_FILTER_STATUS_CHANGE,this.onStatusFilterChange)}},{key:"componentWillUnmount",value:function(){I.default.unlisten(D.default.CLIENT_FETCH_TORRENT_TAXONOMY_SUCCESS,this.onTorrentTaxonomyChange),I.default.unlisten(D.default.UI_TORRENTS_FILTER_STATUS_CHANGE,this.onStatusFilterChange)}},{key:"handleClick",value:function(e){j.default.setTorrentStatusFilter(e)}},{key:"getFilters",value:function(){var e=this,t=[{label:this.props.intl.formatMessage({id:"filter.all",defaultMessage:"All"}),slug:"all",icon:v.default.createElement(M.default,null)},{label:this.props.intl.formatMessage({id:"filter.status.downloading",defaultMessage:"Downloading"}),slug:"downloading",icon:v.default.createElement(L.default,null)},{label:this.props.intl.formatMessage({id:"filter.status.completed",defaultMessage:"Complete"}),slug:"complete",icon:v.default.createElement(S.default,null)},{label:this.props.intl.formatMessage({id:"filter.status.stopped",defaultMessage:"Stopped"}),slug:"stopped",icon:v.default.createElement(Y.default,null)
-},{label:this.props.intl.formatMessage({id:"filter.status.active",defaultMessage:"All"}),slug:"active",icon:v.default.createElement(y.default,null)},{label:this.props.intl.formatMessage({id:"filter.status.inactive",defaultMessage:"Inactive"}),slug:"inactive",icon:v.default.createElement(x.default,null)},{label:this.props.intl.formatMessage({id:"filter.status.error",defaultMessage:"Error"}),slug:"error",icon:v.default.createElement(w.default,null)}],n=t.map(function(t){return v.default.createElement(O.default,{handleClick:e.handleClick,count:e.state.statusCount[t.slug]||0,key:t.slug,icon:t.icon,isActive:t.slug===e.state.statusFilter,name:t.label,slug:t.slug})});return n}},{key:"onStatusFilterChange",value:function(){this.setState({statusFilter:I.default.getStatusFilter()})}},{key:"onTorrentTaxonomyChange",value:function(){var e=I.default.getTorrentStatusCount();this.setState({statusCount:e})}},{key:"render",value:function(){var e=this.getFilters();return v.default.createElement("ul",{className:"sidebar-filter sidebar__item"},v.default.createElement("li",{className:"sidebar-filter__item sidebar-filter__item--heading"},v.default.createElement(p.FormattedMessage,{id:"filter.status.title",defaultMessage:"Filter by Status"})),e)}}]),t}(v.default.Component);t.default=(0,p.injectIntl)(W)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--active "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M25.7,25.7H13v17.4H2.6L19.3,60L36,43.1H25.7V25.7z M40.7,0L24,16.9h10.3v17.4H47V16.9h10.3L40.7,0z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--all "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("polygon",{points:"52,20.6 48.6,14.7 33.4,24 33.4,8.7 26.6,8.7 26.6,24 11.4,14.7 8,20.6 23.4,30 8,39.4 11.4,45.3 26.6,36 26.6,51.3 33.4,51.3 33.4,36 48.6,45.3 52,39.4 36.6,30 "}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--completed "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("polygon",{points:"55.5,18.6 46.1,8.7 24.4,31.5 13.9,20.4 4.5,30.3 24.4,51.3 24.4,51.3 24.4,51.3"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--download-small "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M55.9,39.1l-8.8-6.4h-5.4l9.4,7.8h-9.8c-0.3,0-0.5,0.2-0.7,0.4l-2.3,6.7H21.7l-2.3-6.7 c-0.1-0.2-0.4-0.4-0.7-0.4H8.9l9.4-7.8h-5.4l-8.8,6.4C2.8,40,2,41.9,2.4,43.5l1.6,9.2c0.4,1.5,1.9,2.8,3.5,2.8h45.2 c1.6,0,3.1-1.3,3.5-2.8l1.6-9.2C58,41.9,57.2,40,55.9,39.1z M44.4,20.1h-8.9V4.5h-11v15.6h-8.9L30,34.5L44.4,20.1z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--inactive "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M56,52H42l-9.7-12.5l-11,4.8L13,20.7l-7,4l-2-9.9L17.2,8l9.5,24.4l9.6-4.3l10.9,15.4H56V52z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(385),_=n(644),m=r(_),v=n(404),g=r(v),y=n(952),E=r(y),M=n(688),T=(r(M),n(709)),S=(r(T),["handleClick"]),b=function(e){function t(){(0,s.default)(this,t);var e=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this));return S.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,h.default)(t,e),(0,l.default)(t,[{key:"handleClick",value:function(){this.props.handleClick(this.props.slug)}},{key:"render",value:function(){var e=(0,m.default)("sidebar-filter__item",{"is-active":this.props.isActive}),t=this.props.name;return"all"===this.props.name?t=this.props.intl.formatMessage({id:"filter.all",defaultMessage:"All"}):"untagged"===this.props.name&&(t=this.props.intl.formatMessage({id:"filter.untagged",defaultMessage:"Untagged"})),g.default.createElement("li",{className:e,onClick:this.handleClick},this.props.icon,t,g.default.createElement(E.default,null,this.props.count))}}]),t}(g.default.Component);t.default=(0,p.injectIntl)(b)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(641),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(644),v=(r(m),n(385)),g=n(404),y=r(g),E=n(688),M=r(E),T=n(982),S=r(T),b=n(709),L=r(b),k=n(697),w=(r(k),n(710)),C=r(w),D=["getFilters","handleClick","onTagFilterChange","onTorrentTaxonomyChange"],R=function(e){function t(){(0,l.default)(this,t);var e=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this));return e.state={tagCount:{},tagFilter:L.default.getTagFilter()},D.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,_.default)(t,e),(0,d.default)(t,[{key:"componentDidMount",value:function(){L.default.listen(M.default.CLIENT_FETCH_TORRENT_TAXONOMY_SUCCESS,this.onTorrentTaxonomyChange),L.default.listen(M.default.UI_TORRENTS_FILTER_TAG_CHANGE,this.onTagFilterChange)}},{key:"componentWillUnmount",value:function(){L.default.unlisten(M.default.CLIENT_FETCH_TORRENT_TAXONOMY_SUCCESS,this.onTorrentTaxonomyChange),L.default.unlisten(M.default.UI_TORRENTS_FILTER_TAG_CHANGE,this.onTagFilterChange)}},{key:"getFilters",value:function(){var e=this,t=(0,i.default)(this.state.tagCount).sort(function(e,t){return"all"===e||"untagged"===e?-1:"all"===t||"untagged"===t?1:e.localeCompare(t)}),n=t.map(function(t,n){return y.default.createElement(S.default,{handleClick:e.handleClick,count:e.state.tagCount[t]||0,key:t,isActive:t===e.state.tagFilter,name:t,slug:t})});return n}},{key:"handleClick",value:function(e){C.default.setTorrentTagFilter(e)}},{key:"hasTags",value:function(){var e=(0,i.default)(this.state.tagCount);return!(1===e.length&&"all"===e[0]||2===e.length&&"untagged"===e[1])}},{key:"onTagFilterChange",value:function(){this.setState({tagFilter:L.default.getTagFilter()})}},{key:"onTorrentTaxonomyChange",value:function(){var e=L.default.getTorrentTagCount();this.setState({tagCount:e})}},{key:"render",value:function(){return this.hasTags()?y.default.createElement("ul",{className:"sidebar-filter sidebar__item"},y.default.createElement("li",{className:"sidebar-filter__item sidebar-filter__item--heading"},y.default.createElement(v.FormattedMessage,{id:"filter.tag.title",defaultMessage:"Filter by Tag"})),this.getFilters()):null}}]),t}(y.default.Component);t.default=R},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(641),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(385),v=n(644),g=(r(v),n(404)),y=r(g),E=n(688),M=r(E),T=n(982),S=r(T),b=n(709),L=r(b),k=n(697),w=(r(k),n(710)),C=r(w),D=["getFilters","handleClick","onTrackerFilterChange","onTorrentTaxonomyChange"],R=function(e){function t(){(0,l.default)(this,t);var e=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this));return e.state={trackerCount:{},trackerFilter:L.default.getTrackerFilter()},D.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,_.default)(t,e),(0,d.default)(t,[{key:"componentDidMount",value:function(){L.default.listen(M.default.CLIENT_FETCH_TORRENT_TAXONOMY_SUCCESS,this.onTorrentTaxonomyChange),L.default.listen(M.default.UI_TORRENTS_FILTER_TRACKER_CHANGE,this.onTrackerFilterChange)}},{key:"componentWillUnmount",value:function(){L.default.unlisten(M.default.CLIENT_FETCH_TORRENT_TAXONOMY_SUCCESS,this.onTorrentTaxonomyChange),L.default.unlisten(M.default.UI_TORRENTS_FILTER_TRACKER_CHANGE,this.onTrackerFilterChange)}},{key:"getFilters",value:function(){var e=this,t=(0,i.default)(this.state.trackerCount).sort(function(e,t){return"all"===e?-1:"all"===t?1:e.localeCompare(t)}),n=t.map(function(t,n){return y.default.createElement(S.default,{handleClick:e.handleClick,count:e.state.trackerCount[t]||0,key:t,isActive:t===e.state.trackerFilter,name:t,slug:t})});return n}},{key:"handleClick",value:function(e){C.default.setTorrentTrackerFilter(e)}},{key:"hasTrackers",value:function(){var e=(0,i.default)(this.state.trackerCount);return!(1===e.length&&"all"===e[0])}},{key:"onTrackerFilterChange",value:function(){this.setState({trackerFilter:L.default.getTrackerFilter()})}},{key:"onTorrentTaxonomyChange",value:function(){var e=L.default.getTorrentTrackerCount();this.setState({trackerCount:e})}},{key:"render",value:function(){var e=this.getFilters();return this.hasTrackers()?y.default.createElement("ul",{className:"sidebar-filter sidebar__item"},y.default.createElement("li",{className:"sidebar-filter__item sidebar-filter__item--heading"},y.default.createElement(m.FormattedMessage,{id:"filter.tracker.title",defaultMessage:"Filter by Tracker"})),e):null}}]),t}(y.default.Component);t.default=R},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(986),v=r(m),g=n(992),y=r(g),E=n(993),M=r(E),T=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement(y.default,{modifier:"torrent-list",className:"view--torrent-list"},_.default.createElement(v.default,null),_.default.createElement(M.default,null))}}]),t}(_.default.Component);T.propTypes={children:_.default.PropTypes.node},t.default=T},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(644),_=r(p),m=n(385),v=n(404),g=r(v),y=n(987),E=r(y),M=n(988),T=r(M),S=n(688),b=r(S),L=n(941),k=r(L),w=n(989),C=r(w),D=n(705),R=r(D),x=n(990),N=r(x),O=n(945),A=r(O),Y=n(946),P=r(Y),I=n(724),F=(r(I),n(696)),H=r(F),j=n(709),U=(r(j),n(697)),W=r(U),V=n(710),z=r(V),G=["handleAddTorrents","handleRemoveTorrents","handleSortChange","handleStart","handleStop","handleSettingsChange"],B=function(e){function t(){(0,s.default)(this,t);var e=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this));return e.state={sortBy:R.default.getFloodSettings("sortTorrents"),torrentListViewSize:R.default.getFloodSettings("torrentListViewSize")},G.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,h.default)(t,e),(0,l.default)(t,[{key:"componentDidMount",value:function(){R.default.listen(b.default.SETTINGS_CHANGE,this.handleSettingsChange)}},{key:"componentWillUnmount",value:function(){R.default.unlisten(b.default.SETTINGS_CHANGE,this.handleSettingsChange)}},{key:"handleAddTorrents",value:function(){z.default.displayModal({id:"add-torrents"})}},{key:"handleRemoveTorrents",value:function(){z.default.displayModal({id:"remove-torrents"})}},{key:"handleSortChange",value:function(e){this.setState({sortBy:e}),R.default.saveFloodSettings({id:"sortTorrents",data:e}),z.default.setTorrentsSort(e)}},{key:"handleStart",value:function(){H.default.startTorrents(W.default.getSelectedTorrents())}},{key:"handleStop",value:function(){H.default.stopTorrents(W.default.getSelectedTorrents())}},{key:"handleSettingsChange",value:function(){this.setState({sortBy:R.default.getFloodSettings("sortTorrents"),torrentListViewSize:R.default.getFloodSettings("torrentListViewSize")})}},{key:"render",value:function(){var e=(0,_.default)("action-bar",{"action-bar--is-condensed":"condensed"===this.state.torrentListViewSize});return g.default.createElement("nav",{className:e},g.default.createElement("div",{className:"actions action-bar__item action-bar__item--sort-torrents"},g.default.createElement(N.default,{direction:this.state.sortBy.direction,onSortChange:this.handleSortChange,selectedProperty:this.state.sortBy.property})),g.default.createElement("div",{className:"actions action-bar__item action-bar__item--torrent-operations"},g.default.createElement("div",{className:"action-bar__group"},g.default.createElement(E.default,{label:"Start Torrent",slug:"start-torrent",icon:g.default.createElement(A.default,null),clickHandler:this.handleStart}),g.default.createElement(E.default,{label:"Stop Torrent",slug:"stop-torrent",icon:g.default.createElement(P.default,null),clickHandler:this.handleStop}),g.default.createElement(E.default,{label:"Pause Torrent",slug:"pause-torrent",icon:g.default.createElement(k.default,null),clickHandler:this.handlePause})),g.default.createElement("div",{className:"action-bar__group action-bar__group--has-divider"},g.default.createElement(E.default,{label:"Add Torrent",slug:"add-torrent",icon:g.default.createElement(T.default,null),clickHandler:this.handleAddTorrents}),g.default.createElement(E.default,{label:"Remove Torrent",slug:"remove-torrent",icon:g.default.createElement(C.default,null),clickHandler:this.handleRemoveTorrents}))))}}]),t}(g.default.Component);t.default=(0,m.injectIntl)(B)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(946),v=(r(m),function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){var e="action action--"+this.props.slug;return _.default.createElement("div",{className:e,onClick:this.props.clickHandler},this.props.icon,_.default.createElement("span",{className:"action__label"},this.props.label))}}]),t}(_.default.Component));t.default=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--add "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M53.7 25.3h-19v-19h-9.4v19h-19v9.4h19v19h9.4v-19h19"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--remove "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M53.7,25.3H6.3v9.4h47.4"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(385),_=n(644),m=(r(_),n(645)),v=(r(m),n(404)),g=r(v),y=n(777),E=r(y),M=n(991),T=r(M),S=["getDropdownHeader","handleItemSelect"],b=["name","eta","downloadRate","uploadRate","ratio","percentComplete","downloadTotal","uploadTotal","sizeBytes","added"],L=function(e){function t(){(0,s.default)(this,t);var e=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this));return S.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,h.default)(t,e),(0,l.default)(t,[{key:"getDropdownHeader",value:function(){return g.default.createElement("a",{className:"dropdown__button"},g.default.createElement("label",{className:"dropdown__label"},g.default.createElement(p.FormattedMessage,{id:"torrents.sort.title",defaultMessage:"Sort By"})),g.default.createElement("span",{className:"dropdown__value"},g.default.createElement(p.FormattedMessage,{id:T.default[this.props.selectedProperty].id,defaultMessage:T.default[this.props.selectedProperty].defaultMessage})))}},{key:"getDropdownMenus",value:function(){var e=this,t=b.map(function(t){return{displayName:e.props.intl.formatMessage(T.default[t]),selected:e.props.selectedProperty===t,property:t}});return[t]}},{key:"handleItemSelect",value:function(e){var t=this.props.direction,n=e.property;t=this.props.selectedProperty===n&&"asc"===t?"desc":"asc",this.props.onSortChange({direction:t,property:n})}},{key:"render",value:function(){return null==this.props.selectedProperty?null:g.default.createElement(E.default,{handleItemSelect:this.handleItemSelect,header:this.getDropdownHeader(),menuItems:this.getDropdownMenus()})}}]),t}(g.default.Component);t.default=(0,p.injectIntl)(L)},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={added:{id:"torrents.properties.added",defaultMessage:"Date Added"},downloadRate:{id:"torrents.properties.download.speed",defaultMessage:"Download Speed"},downloadTotal:{id:"torrents.properties.download.total",defaultMessage:"Downloaded"},eta:{id:"torrents.properties.eta",defaultMessage:"ETA"},name:{id:"torrents.properties.name",defaultMessage:"Name"},peers:{id:"torrents.properties.peers",defaultMessage:"Peers"},percentComplete:{id:"torrents.properties.percentage",defaultMessage:"Percent Complete"},ratio:{id:"torrents.properties.ratio",defaultMessage:"Ratio"},seeds:{id:"torrents.properties.seeds",defaultMessage:"Seeds"},sizeBytes:{id:"torrents.properties.size",defaultMessage:"File Size"},uploadRate:{id:"torrents.properties.upload.speed",defaultMessage:"Upload Speed"},uploadTotal:{id:"torrents.properties.upload.total",defaultMessage:"Uploaded"}};t.default=n},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(713),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(644),v=r(m),g=n(404),y=r(g),E=function(e){function t(){return(0,l.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,_.default)(t,e),(0,d.default)(t,[{key:"render",value:function(){var e,t=(0,v.default)(this.props.baseClassName,(e={},(0,i.default)(e,this.props.baseClassName+"--"+this.props.modifier,this.props.baseClassName),(0,i.default)(e,this.props.className,this.props.className),e));return y.default.createElement("div",{className:t},this.props.children)}}]),t}(y.default.Component);E.defaultProps={baseClassName:"application__panel"},E.propTypes={children:y.default.PropTypes.node,className:y.default.PropTypes.string,modifier:y.default.PropTypes.string},t.default=E},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(636),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(385),v=n(698),g=r(v),y=n(644),E=(r(y),n(645)),M=r(E),T=n(404),S=r(T),b=n(489),L=(r(b),n(994)),k=r(L),w=n(745),C=r(w),D=n(688),R=r(D),x=n(995),N=r(x),O=n(692),A=r(O),Y=n(932),P=(r(Y),n(931)),I=r(P),F=n(705),H=r(F),j=n(996),U=r(j),W=n(997),V=r(W),z=n(696),G=r(z),B=n(709),q=r(B),J=n(697),Q=r(J),K=n(710),Z=r(K),X=n(693),$=r(X),ee=(0,m.defineMessages)({torrentListDependency:{id:"dependency.loading.torrent.list",defaultMessage:"Torrent List"}}),te=["bindExternalPriorityChangeHandler","getVerticalScrollbarThumb","handleContextMenuItemClick","handleDetailsClick","handleHorizontalScroll","handleHorizontalScrollStop","handlePropWidthChange","handleContextMenuClick","handleSettingsChange","handleTorrentClick","onContextMenuChange","onReceiveTorrentsError","onReceiveTorrentsSuccess","onTorrentFilterChange","onTorrentSelectionChange","updateVerticalThumbPosition","renderListItem","updateTorrentListViewWidth"],ne=100,re={name:200,eta:100},ae=function(t){function n(e){(0,l.default)(this,n);var t=(0,h.default)(this,(n.__proto__||(0,s.default)(n)).call(this));return t.lastScrollLeft=0,t.state={displayedProperties:H.default.getFloodSettings("torrentDetails"),emptyTorrentList:!1,floodSettingsFetched:!1,handleTorrentPriorityChange:null,contextMenu:null,tableScrollLeft:0,torrentCount:0,torrentHeight:null,torrentListColumnWidths:H.default.getFloodSettings("torrentListColumnWidths"),torrentListViewSize:H.default.getFloodSettings("torrentListViewSize"),torrentListViewportSize:null,torrents:[],torrentRequestError:!1,torrentRequestSuccess:!1,viewportHeight:0},te.forEach(function(e){t[e]=t[e].bind(t)}),$.default.registerDependency({id:"torrent-list",message:e.intl.formatMessage(ee.torrentListDependency)}),t.updateTorrentListViewWidth=g.default.debounce(t.updateTorrentListViewWidth,100,{trailing:!0}),t}return(0,_.default)(n,t),(0,d.default)(n,[{key:"componentDidMount",value:function(){H.default.listen(R.default.SETTINGS_CHANGE,this.handleSettingsChange),Q.default.listen(R.default.UI_TORRENT_SELECTION_CHANGE,this.onTorrentSelectionChange),Q.default.listen(R.default.CLIENT_TORRENTS_REQUEST_SUCCESS,this.onReceiveTorrentsSuccess),Q.default.listen(R.default.UI_TORRENTS_LIST_FILTERED,this.onReceiveTorrentsSuccess),Q.default.listen(R.default.CLIENT_TORRENTS_REQUEST_ERROR,this.onReceiveTorrentsError),q.default.listen(R.default.UI_TORRENTS_FILTER_CHANGE,this.onTorrentFilterChange),$.default.listen(R.default.UI_CONTEXT_MENU_CHANGE,this.onContextMenuChange),Q.default.fetchTorrents(),e.addEventListener("resize",this.updateTorrentListViewWidth)}},{key:"componentWillUnmount",value:function(){H.default.unlisten(R.default.SETTINGS_CHANGE,this.handleSettingsChange),Q.default.unlisten(R.default.UI_TORRENT_SELECTION_CHANGE,this.onTorrentSelectionChange),Q.default.unlisten(R.default.CLIENT_TORRENTS_REQUEST_SUCCESS,this.onReceiveTorrentsSuccess),Q.default.unlisten(R.default.UI_TORRENTS_LIST_FILTERED,this.onReceiveTorrentsSuccess),Q.default.unlisten(R.default.CLIENT_TORRENTS_REQUEST_ERROR,this.onReceiveTorrentsError),q.default.unlisten(R.default.UI_TORRENTS_FILTER_CHANGE,this.onTorrentFilterChange),$.default.unlisten(R.default.UI_CONTEXT_MENU_CHANGE,this.onContextMenuChange),e.removeEventListener("resize",this.updateTorrentListViewWidth)}},{key:"componentWillUpdate",value:function(e,t){t.torrentListViewSize!==this.state.torrentListViewSize&&null!=this.listViewportRef&&this.listViewportRef.measureItemHeight()}},{key:"componentDidUpdate",value:function(e,t){var n=this.state.torrentListViewSize,r="condensed"===n,a="condensed"===t.torrentListViewSize;null!=this.horizontalScrollRef&&null==this.state.torrentListViewportSize&&this.updateTorrentListViewWidth(),null!=this.verticalScrollbarThumb&&(!r&&a?this.updateVerticalThumbPosition(0):r&&this.updateVerticalThumbPosition((this.getTotalCellWidth()-this.listContainer.clientWidth)*-1+this.lastScrollLeft))}},{key:"bindExternalPriorityChangeHandler",value:function(e){this.setState({handleTorrentPriorityChange:e})}},{key:"getContextMenuItems",value:function(e){var t=this.handleContextMenuItemClick;return[{action:"start",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.start",defaultMessage:"Start"})},{action:"stop",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.stop",defaultMessage:"Stop"})},{action:"pause",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.pause",defaultMessage:"Pause"})},{action:"remove",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.remove",defaultMessage:"Remove"})},{action:"check-hash",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.check.hash",defaultMessage:"Check Hash"})},{type:"separator"},{action:"set-taxonomy",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.set.tags",defaultMessage:"Set Tags"})},{action:"move",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.move",defaultMessage:"Set Download Location"})},{type:"separator"},{action:"torrent-details",clickHandler:function(n,r){t(n,r,e)},label:this.props.intl.formatMessage({id:"torrents.list.context.details",defaultMessage:"Torrent Details"})},{action:"set-priority",clickHandler:t,dismissMenu:!1,label:this.props.intl.formatMessage({id:"torrents.list.context.priority",defaultMessage:"Priority"}),labelAction:S.default.createElement(I.default,{id:e.hash,key:e.hash,bindExternalChangeHandler:this.bindExternalPriorityChangeHandler,level:e.priority,maxLevel:3,priorityType:"torrent",onChange:this.handleTorrentPriorityChange,showLabel:!1})}]}},{key:"handleContextMenuItemClick",value:function(e,t,n){var r=Q.default.getSelectedTorrents();switch(e){case"check-hash":G.default.checkHash(r);break;case"set-taxonomy":Z.default.displayModal({id:"set-taxonomy"});break;case"start":G.default.startTorrents(r);break;case"stop":G.default.stopTorrents(r);break;case"pause":G.default.pauseTorrents(r);break;case"remove":Z.default.displayModal({id:"remove-torrents"});break;case"move":Z.default.displayModal({id:"move-torrents"});break;case"torrent-details":this.handleDetailsClick(n,t);break;case"set-priority":this.state.handleTorrentPriorityChange(t)}}},{key:"handleDetailsClick",value:function(e,t){Z.default.handleDetailsClick({hash:e.hash,event:t}),Z.default.displayModal({id:"torrent-details",options:{hash:e.hash}})}},{key:"handleContextMenuClick",value:function(e,t){t.preventDefault(),$.default.setActiveContextMenu({clickPosition:{x:t.clientX,y:t.clientY},items:this.getContextMenuItems(e)})}},{key:"handleSettingsChange",value:function(){this.setState({displayedProperties:H.default.getFloodSettings("torrentDetails"),floodSettingsFetched:!0,torrentListColumnWidths:H.default.getFloodSettings("torrentListColumnWidths"),torrentListViewSize:H.default.getFloodSettings("torrentListViewSize")})}},{key:"handleTableHeadingCellClick",value:function(e,t){var n=q.default.getTorrentsSort(),r="asc";n.property===e&&(r="asc"===n.direction?"desc":"asc");var a={property:e,direction:r};H.default.saveFloodSettings({id:"sortTorrents",data:a}),Z.default.setTorrentsSort(a)}},{key:"handleTorrentClick",value:function(e,t){Z.default.handleTorrentClick({hash:e,event:t})}},{key:"handleTorrentPriorityChange",value:function(e,t){G.default.setPriority(e,t)}},{key:"onContextMenuChange",value:function(){this.setState({contextMenu:$.default.getActiveContextMenu()})}},{key:"onReceiveTorrentsError",value:function(){this.setState({torrentRequestError:!0,torrentRequestSuccess:!1})}},{key:"onReceiveTorrentsSuccess",value:function(){var e=Q.default.getTorrents();this.setState({emptyTorrentList:0===e.length,torrents:e,torrentCount:e.length,torrentRequestError:!1,torrentRequestSuccess:!0},function(){return $.default.satisfyDependency("torrent-list")})}},{key:"onTorrentFilterChange",value:function(){this.forceUpdate()}},{key:"onTorrentSelectionChange",value:function(){this.forceUpdate()}},{key:"getEmptyTorrentListNotification",value:function(){var e=null;return q.default.isFilterActive()&&(e=S.default.createElement("div",{className:"torrents__alert__action"},S.default.createElement("button",{className:"button button--small button--deemphasize button--inverse",onClick:this.handleClearFiltersClick},S.default.createElement(m.FormattedMessage,{id:"torrents.list.clear.filters",defaultMessage:"Clear Filters"})))),S.default.createElement("div",{className:"torrents__alert__wrapper"},S.default.createElement("div",{className:"torrents__alert"},S.default.createElement(m.FormattedMessage,{id:"torrents.list.no.torrents",defaultMessage:"No torrents to display."})),e)}},{key:"getCellWidth",value:function(e){var t=this.state.torrentListColumnWidths[e]||re[e]||ne;return t}},{key:"getListWrapperStyle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e.isCondensed&&!e.isListEmpty){var t=this.getTotalCellWidth();if(t>=this.state.torrentListViewportSize)return{width:t+"px"}}return null}},{key:"getLoadingIndicator",value:function(){return S.default.createElement(A.default,null)}},{key:"getTotalCellWidth",value:function(){var e=this;return this.state.displayedProperties.reduce(function(t,n){return t+e.getCellWidth(n)},0)}},{key:"getVerticalScrollbarThumb",value:function(e,t){var n=this;return S.default.createElement("div",e,S.default.createElement("div",{className:"scrollbars__thumb scrollbars__thumb--horizontal scrollbars__thumb--surrogate",onMouseUp:t,ref:function(e){return n.verticalScrollbarThumb=e}}))}},{key:"handleClearFiltersClick",value:function(){q.default.clearAllFilters()}},{key:"handleHorizontalScroll",value:function(e){if(null!=this.verticalScrollbarThumb){var t=e.target,n=t.clientWidth,r=t.scrollLeft,a=t.scrollWidth;this.lastScrollLeft=r,this.updateVerticalThumbPosition((a-n)*-1+r)}}},{key:"handleHorizontalScrollStop",value:function(){this.setState({tableScrollLeft:this.lastScrollLeft})}},{key:"handlePropWidthChange",value:function(e){var t=(0,i.default)({},this.state.torrentListColumnWidths,e);H.default.saveFloodSettings({id:"torrentListColumnWidths",data:t}),this.setState({torrentListColumnWidths:t})}},{key:"renderListItem",value:function(e,t){var n=Q.default.getSelectedTorrents(),r=this.state,a=(r.displayedProperties,r.torrents),i=a[e],o=i.hash;return S.default.createElement(V.default,{defaultPropWidths:re,defaultWidth:ne,handleClick:this.handleTorrentClick,handleDetailsClick:this.handleDetailsClick,handleRightClick:this.handleContextMenuClick,index:e,isCondensed:t.isCondensed,key:o,properties:this.state.displayedProperties,propWidths:this.state.torrentListColumnWidths,selected:n.includes(o),torrent:i})}},{key:"updateTorrentListViewWidth",value:function(){null!=this.horizontalScrollRef&&this.setState({
-torrentListViewportSize:this.horizontalScrollRef.refs.scrollbar.getClientWidth()})}},{key:"updateVerticalThumbPosition",value:function(e){this.verticalScrollbarThumb.style.transform="translateX("+e+"px)"}},{key:"render",value:function(){var e=this;if(!this.state.floodSettingsFetched)return null;var t=null,n=null,r=null,a="condensed"===this.state.torrentListViewSize,i=this.state.emptyTorrentList||0===this.state.torrents.length,o=this.getListWrapperStyle({isCondensed:a,isListEmpty:i});return i?t=this.getEmptyTorrentListNotification():this.state.torrentRequestSuccess?(t=S.default.createElement(N.default,{getVerticalThumb:this.getVerticalScrollbarThumb,itemRenderer:this.renderListItem,itemRendererProps:{isCondensed:a},listClass:"torrent__list",listLength:this.state.torrentCount,ref:function(t){return e.listViewportRef=t},scrollContainerClass:"torrent__list__scrollbars--vertical"}),a&&(r=S.default.createElement(U.default,{sortProp:q.default.getTorrentsSort(),defaultWidth:ne,defaultPropWidths:re,scrollOffset:this.state.tableScrollLeft,onCellClick:this.handleTableHeadingCellClick,onWidthsChange:this.handlePropWidthChange,properties:this.state.displayedProperties,propWidths:this.state.torrentListColumnWidths}))):t=this.getLoadingIndicator(),null!=this.state.contextMenu&&(n=S.default.createElement(k.default,{clickPosition:this.state.contextMenu.clickPosition,items:this.state.contextMenu.items})),S.default.createElement("div",{className:"torrents",ref:function(t){return e.listContainer=t}},S.default.createElement(C.default,{className:"torrent__list__scrollbars--horizontal",onScrollStop:this.handleHorizontalScrollStop,nativeScrollHandler:this.handleHorizontalScroll,ref:function(t){return e.horizontalScrollRef=t}},S.default.createElement("div",{className:"torrent__list__wrapper",style:o},S.default.createElement(M.default,{transitionName:"menu",transitionEnterTimeout:250,transitionLeaveTimeout:250},n),r,t)))}}]),n}(S.default.Component);t.default=(0,m.injectIntl)(ae)}).call(t,function(){return this}())},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(636),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(644),v=r(m),g=n(404),y=r(g),E=n(489),M=r(E),T=n(710),S=r(T),b=function(t){function n(){(0,l.default)(this,n);var e=(0,h.default)(this,(n.__proto__||(0,s.default)(n)).call(this));return e.state={menuPosition:{},isMenuPositionIdeal:!1},e}return(0,_.default)(n,t),(0,d.default)(n,[{key:"componentDidMount",value:function(){e.document.addEventListener("keydown",this.handleKeyPress),e.document.addEventListener("click",this.handleClick),this.props.onMenuOpen&&this.props.onMenuOpen(),this.checkMenuPosition()}},{key:"componentDidUpdate",value:function(){this.checkMenuPosition()}},{key:"componentWillUnmount",value:function(){e.document.addEventListener("keydown",this.handleKeyPress),e.document.removeEventListener("click",this.handleClick),this.props.onMenuClose&&this.props.onMenuClose()}},{key:"componentWillUpdate",value:function(e){e.clickPosition.x===this.props.clickPosition.x&&e.clickPosition.y===this.props.clickPosition.y||this.setState({isMenuPositionIdeal:!1,menuPosition:this.getMenuPosition()})}},{key:"checkMenuPosition",value:function(){this.state.isMenuPositionIdeal||this.setState({isMenuPositionIdeal:!0,menuPosition:this.getMenuPosition()})}},{key:"getMenuPosition",value:function(){var e=this.getRenderedMenuBorderBox(),t=this.getViewportDimensions(),n={};return e.left+e.width>t.width?n.right=t.width-this.props.clickPosition.x:n.left=e.left,e.height+this.props.clickPosition.y>t.height?n.bottom=t.height-this.props.clickPosition.y:n.top=e.top,n}},{key:"getViewportDimensions",value:function(){var t=e.window.innerHeight,n=e.window.innerWidth;return{height:t,width:n}}},{key:"getRenderedMenuBorderBox",value:function(){var e=M.default.findDOMNode(this);return e?e.getBoundingClientRect():null}},{key:"getMenuItems",value:function(e){var t=this;return e.map(function(e,n){var r=void 0,a=void 0,i=void 0,o=(0,v.default)("menu__item",{"is-selectable":e.clickHandler,"menu__item--separator":"separator"===e.type}),s=(0,v.default)("menu__item__label--primary",{"has-action":e.labelAction});return e.labelSecondary&&(a=y.default.createElement("span",{className:"menu__item__label--secondary"},e.labelSecondary)),e.labelAction&&(r=y.default.createElement("span",{className:"menu__item__label__action"},e.labelAction)),"separator"!==e.type&&(i=y.default.createElement("span",null,y.default.createElement("span",{className:s},y.default.createElement("span",{className:"menu__item__label"},e.label),r),a)),y.default.createElement("li",{className:o,key:n,onClick:t.handleMenuItemClick.bind(t,e)},i)})}},{key:"handleClick",value:function(e){1===e.which&&S.default.dismissContextMenu()}},{key:"handleKeyPress",value:function(e){27===e.keyCode&&S.default.dismissContextMenu()}},{key:"handleMenuItemClick",value:function(e,t){return e.dismissMenu===!1&&t.nativeEvent.stopImmediatePropagation(),e.clickHandler&&e.clickHandler(e.action,t),!1}},{key:"render",value:function(){var e="context-menu menu",t={left:this.props.clickPosition.x,top:this.props.clickPosition.y},n="hidden";this.state.isMenuPositionIdeal&&(n="visible",t=this.state.menuPosition);var r=(0,i.default)({width:this.props.width+"px"},t,{visibility:n});return y.default.createElement("div",{className:e,style:r},this.getMenuItems(this.props.items))}}]),n}(y.default.Component);t.default=b,b.defaultProps={width:200},b.propTypes={clickPosition:y.default.PropTypes.object,onMenuClose:y.default.PropTypes.func,onMenuOpen:y.default.PropTypes.func,items:y.default.PropTypes.array,width:y.default.PropTypes.number}}).call(t,function(){return this}())},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(698),_=r(p),m=n(404),v=r(m),g=n(745),y=r(g),E=["getListPadding","getViewportLimits","handleScroll","handleScrollStart","handleScrollStop","measureItemHeight","setScrollPosition","setViewportHeight"],M=function(t){function n(){(0,s.default)(this,n);var e=(0,d.default)(this,(n.__proto__||(0,i.default)(n)).call(this));return e.lastScrollTop=0,e.nodeRefs={},e.state={isScrolling:!1,itemHeight:null,listVerticalPadding:null,scrollTop:0,viewportHeight:null},E.forEach(function(t){e[t]=e[t].bind(e)}),e.setViewportHeight=_.default.debounce(e.setViewportHeight,250),e.setScrollPosition=_.default.throttle(e.setScrollPosition,100,{trailing:!0}),e}return(0,h.default)(n,t),(0,l.default)(n,[{key:"componentDidMount",value:function(){e.addEventListener("resize",this.setViewportHeight),this.setViewportHeight()}},{key:"componentDidUpdate",value:function(){var t=this.nodeRefs,n=this.state;if(null==n.itemHeight&&null!=t.topSpacer&&this.setState({itemHeight:t.topSpacer.nextSibling.offsetHeight}),null==n.listVerticalPadding&&null!=t.list){var r=e.getComputedStyle(t.list),a=Number(r["padding-bottom"].replace("px","")),i=Number(r["padding-top"].replace("px",""));this.setState({listVerticalPadding:a+i})}}},{key:"componentWillUnmount",value:function(){e.removeEventListener("resize",this.setViewportHeight)}},{key:"shouldComponentUpdate",value:function(e,t){var n=t.scrollTop-this.lastScrollTop,r=this.nodeRefs.outerScrollbar;return!(t.isScrolling&&(n>this.state.viewportHeight||n0?t=18:(t=10,n=10));var r=this.state,a=r.itemHeight,i=r.listVerticalPadding,o=r.scrollTop,s=r.viewportHeight;i&&(s-=i);var u=Math.ceil(s/a),l=Math.max(0,Math.floor(o/a)-n),c=Math.min(this.props.listLength,l+u+t+n);return{minItemIndex:l,maxItemIndex:c}}},{key:"handleScroll",value:function(e){this.setScrollPosition(e)}},{key:"handleScrollStart",value:function(){this.setState({isScrolling:!0})}},{key:"handleScrollStop",value:function(){this.setState({isScrolling:!1})}},{key:"measureItemHeight",value:function(){var e=this;this.lastScrollTop=0,this.setState({scrollTop:0,itemHeight:null},function(){e.nodeRefs.outerScrollbar.refs.scrollbar.scrollTop(0)})}},{key:"getListPadding",value:function(e,t,n){var r=this.state.itemHeight;if(null==r)return{bottom:0,top:0};e<0&&(e=0),t>n&&(t=n);var a=(n-t)*r,i=e*r;return{bottom:a,top:i}}},{key:"setScrollPosition",value:function(e){this.lastScrollTop=this.state.scrollTop,this.setState({scrollTop:e.scrollTop})}},{key:"setViewportHeight",value:function(){var e=this.nodeRefs;e.outerScrollbar&&this.setState({viewportHeight:e.outerScrollbar.refs.scrollbar.getClientHeight()})}},{key:"render",value:function(){for(var e=this,t=this.lastScrollTop,n=this.nodeRefs,r=this.props,a=this.state,i=this.getViewportLimits(a.scrollTop-t),o=i.minItemIndex,s=i.maxItemIndex,u=this.getListPadding(o,s,r.listLength),l=[],c=o;c20&&(this.focusedCellWidth=n,this.lastMouseX=e.clientX,this.resizeLine.style.transform="translateX("+Math.max(0,e.clientX-this.tableHeadingX+this.props.scrollOffset)+"px)",this.handleWidthChange(this.focusedCell,n))}},{key:"handleMouseUp",value:function(t){k.default.removeGlobalStyle(C),e.document.removeEventListener("mouseup",this.handleMouseUp),e.document.removeEventListener("mousemove",this.handleMouseMove),this.focusedCell=null,this.focusedCellWidth=null,this.isMouseDown=!1,this.lastMouseX=null,this.resizeLine.style.opacity=0,this.handleWidthChange.flush()}},{key:"handleCellClick",value:function(e,t){this.props.onCellClick(e,t)}},{key:"handleCellMouseDown",value:function(t,n,r){this.isMouseDown||(k.default.addGlobalStyle(C),e.document.addEventListener("mouseup",this.handleMouseUp),e.document.addEventListener("mousemove",this.handleMouseMove),this.focusedCell=n,this.focusedCellWidth=r,this.isMouseDown=!0,this.lastMouseX=t.clientX,this.resizeLine.style.transform="translateX("+Math.max(0,t.clientX-this.tableHeadingX+this.props.scrollOffset)+"px)",this.resizeLine.style.opacity=1)}},{key:"handleWidthChange",value:function(e,t){this.props.onWidthsChange((0,i.default)({},e,t))}},{key:"getHeadingElements",value:function(){var e=this,t=this.props,n=t.defaultWidth,r=t.defaultPropWidths,a=t.properties,o=t.propWidths,s=t.sortProp;a.length;return a.map(function(t){var a=t,u=null,l=o[a]||r[a]||n;e.isMouseDown||(u=T.default.createElement("span",{className:"table__heading__handle",onMouseDown:function(t){e.handleCellMouseDown(t,a,l)}}));var c=a===s.property,d=(0,y.default)("table__cell table__heading",(0,i.default)({"table__heading--is-sorted":c},"table__heading--direction--"+s.direction,c)),f=T.default.createElement(E.FormattedMessage,{id:b.default[a].id,defaultMessage:b.default[a].defaultMessage});return T.default.createElement("div",{className:d,key:a,onClick:function(t){return e.handleCellClick(a,t)},style:{width:l+"px"}},T.default.createElement("span",{className:"table__heading__label",title:e.props.intl.formatMessage({id:b.default[a].id,defaultMessage:b.default[a].defaultMessage})},f),u)})}},{key:"render",value:function(){var e=this,t=null;return T.default.createElement("div",{className:"table__row table__row--heading",ref:function(t){return e.tableHeading=t}},this.getHeadingElements(),T.default.createElement("div",{className:"table__cell table__heading table__heading--fill"}),T.default.createElement("div",{className:"table__heading__resize-line",ref:function(t){return e.resizeLine=t},style:t}))}}]),n}(T.default.Component);t.default=(0,E.injectIntl)(D)}).call(t,function(){return this}())},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(641),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(644),v=(r(m),n(385),n(404)),g=r(v),y=n(998),E=r(y),M=n(938),T=r(M),S=n(999),b=r(S),L=n(939),k=r(L),w=n(940),C=(r(w),n(688)),D=(r(C),n(1e3)),R=r(D),x=n(1001),N=r(x),O=n(942),A=r(O),Y=n(943),P=(r(Y),n(944)),I=r(P),F=n(1002),H=r(F),j=n(933),U=(r(j),n(948)),W=n(947),V=n(1003),z=r(V),G=n(950),B=r(G),q={clock:g.default.createElement(T.default,null),disk:g.default.createElement(b.default,null),downloadThick:g.default.createElement(k.default,null),information:g.default.createElement(R.default,null),calendar:g.default.createElement(E.default,null),peers:g.default.createElement(N.default,null),ratio:g.default.createElement(I.default,null),seeds:g.default.createElement(H.default,null),uploadThick:g.default.createElement(B.default,null)},J=["handleClick","handleRightClick"],Q=["bytesDone","downloadRate","status","tags","totalPeers","totalSeeds","uploadRate"],K=["status","tags"],Z=function(e){function t(e){(0,l.default)(this,t);var n=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this));return n.state={isSelected:e.selected},J.forEach(function(e){n[e]=n[e].bind(n)}),n}return(0,_.default)(t,e),(0,d.default)(t,[{key:"componentWillUpdate",value:function(e){e.selected!==this.props.selected&&this.setState({isSelected:e.selected})}},{key:"shouldComponentUpdate",value:function(e,t){var n=this;if(e.selected!==this.props.selected||t.isSelected!==this.state.isSelected||e.isCondensed!==this.props.isCondensed)return!0;var r=e.torrent,a=this.props.torrent,o=K.some(function(e){var t=r[e],a=n.props.torrent[e];return t.length!==a.length||t.some(function(e,t){return e!==a[t]})});return o||(o=Q.some(function(e){return r[e]!==a[e]})),o?o:(0,i.default)(e.propWidths).some(function(t){return e.propWidths[t]!==n.props.propWidths[t]})}},{key:"getTags",value:function(e){return e.map(function(e,t){return g.default.createElement("li",{className:"torrent__tag",key:t},e)})}},{key:"handleClick",value:function(e){this.setState({isSelected:!0}),this.props.handleClick(this.props.torrent.hash,e)}},{key:"handleRightClick",value:function(e){this.state.isSelected||this.handleClick(e),this.props.handleRightClick(this.props.torrent,e)}},{key:"handleSettingsChange",value:function(){console.log("settings change")}},{key:"getWidth",value:function(e){var t=this.props,n=t.defaultWidth,r=t.defaultPropWidths,a=t.propWidths;return a[e]||r[e]||n}},{key:"render",value:function(){var e=this.state.isSelected,t=this.props,n=t.isCondensed,r=t.torrent,a=(0,W.torrentStatusClasses)(r,{"torrent--is-selected":e,"torrent--is-condensed":n,"torrent--is-expanded":!n},"torrent");return n?g.default.createElement("li",{className:a,onClick:this.handleClick,onContextMenu:this.handleRightClick},g.default.createElement(z.default,{className:"table__cell",slug:"name",value:r.name,width:this.getWidth("name")}),g.default.createElement(z.default,{className:"table__cell",slug:"progress-bar",value:g.default.createElement(A.default,{percent:r.percentComplete,icon:(0,U.torrentStatusIcons)(r.status)}),width:this.getWidth("percentComplete")}),g.default.createElement(z.default,{className:"table__cell",slug:"downloadTotal",value:r.bytesDone,width:this.getWidth("downloadTotal")}),g.default.createElement(z.default,{className:"table__cell",slug:"downloadRate",value:r.downloadRate,width:this.getWidth("downloadRate")}),g.default.createElement(z.default,{className:"table__cell",slug:"uploadTotal",value:r.uploadTotal,width:this.getWidth("uploadTotal")}),g.default.createElement(z.default,{className:"table__cell",slug:"uploadRate",value:r.uploadRate,width:this.getWidth("uploadRate")}),g.default.createElement(z.default,{className:"table__cell",slug:"eta",value:r.eta,width:this.getWidth("eta")}),g.default.createElement(z.default,{className:"table__cell",slug:"ratio",value:r.ratio,width:this.getWidth("ratio")}),g.default.createElement(z.default,{className:"table__cell",slug:"sizeBytes",value:r.sizeBytes,width:this.getWidth("sizeBytes")}),g.default.createElement(z.default,{className:"table__cell",slug:"peers",secondaryValue:r.connectedPeers,value:r.totalPeers,width:this.getWidth("peers")}),g.default.createElement(z.default,{className:"table__cell",slug:"seeds",secondaryValue:r.connectedSeeds,value:r.totalSeeds,width:this.getWidth("seeds")}),g.default.createElement(z.default,{className:"table__cell",slug:"added",value:r.added,width:this.getWidth("added")})):g.default.createElement("li",{className:a,onClick:this.handleClick,onContextMenu:this.handleRightClick},g.default.createElement("div",{className:"torrent__details__section__wrapper"},g.default.createElement(z.default,{className:"torrent__details__section torrent__details__section--primary",slug:"name",value:r.name}),g.default.createElement("div",{className:"torrent__details__section torrent__details__section--secondary"},g.default.createElement(z.default,{icon:!0,slug:"eta",value:r.eta}),g.default.createElement(z.default,{icon:!0,slug:"downloadRate",value:r.downloadRate}),g.default.createElement(z.default,{icon:!0,slug:"uploadRate",value:r.uploadRate}))),g.default.createElement("div",{className:"torrent__details__section torrent__details__section--tertiary"},g.default.createElement(z.default,{icon:!0,slug:"completed",secondaryValue:r.bytesDone,value:r.percentComplete}),g.default.createElement(z.default,{icon:!0,slug:"uploadTotal",value:r.uploadTotal}),g.default.createElement(z.default,{icon:!0,slug:"ratio",value:r.ratio}),g.default.createElement(z.default,{icon:!0,slug:"sizeBytes",value:r.sizeBytes}),g.default.createElement(z.default,{icon:!0,slug:"ratio",value:r.ratio}),g.default.createElement(z.default,{icon:!0,slug:"peers",secondaryValue:r.connectedPeers,value:r.totalPeers}),g.default.createElement(z.default,{icon:!0,slug:"seeds",secondaryValue:r.connectedSeeds,value:r.totalSeeds}),g.default.createElement(z.default,{icon:!0,slug:"added",value:r.added}),g.default.createElement(z.default,{icon:!0,slug:"tags",value:r.tags})),g.default.createElement("div",{className:"torrent__details__section torrent__details__section--quaternary"},g.default.createElement(A.default,{percent:r.percentComplete,icon:(0,U.torrentStatusIcons)(r.status)})),g.default.createElement("button",{className:"torrent__more-info floating-action__button",onClick:this.props.handleDetailsClick.bind(this,r),tabIndex:"-1"},q.information))}}]),t}(g.default.Component);Z.defaultProps={isCondensed:!1},t.default=Z},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--calendar "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M51.9,9.39h-4V6.3a5.08,5.08,0,0,0-5-5.15h-2A5.08,5.08,0,0,0,36,6.3V9.39H24V6.3a5.08,5.08,0,0,0-5-5.15h-2a5.08,5.08,0,0,0-5,5.15V9.39h-4a4.08,4.08,0,0,0-4,4.12V54.74a4.08,4.08,0,0,0,4,4.12H51.9a4.08,4.08,0,0,0,4-4.12V13.51A4.08,4.08,0,0,0,51.9,9.39ZM40,6.3a1,1,0,0,1,1-1h2a1,1,0,0,1,1,1v9.28a1,1,0,0,1-1,1h-2a1,1,0,0,1-1-1V6.3Zm-23.89,0a1,1,0,0,1,1-1h2a1,1,0,0,1,1,1v9.28a1,1,0,0,1-1,1h-2a1,1,0,0,1-1-1V6.3ZM49.8,52.84H10.2V22.42H49.8V52.84Z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--disk "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("polygon",{points:"51.8,0 51.8,0 51.8,3.7 51.8,56.3 8.2,56.3 8.2,3.7 8.2,0 8.2,0 4.5,0 4.5,60.1 55.5,60.1 55.5,0 \t"}),_.default.createElement("rect",{x:"18.4",y:"8.9",width:"23.1",height:"3.8"}),_.default.createElement("path",{d:"M30,51.8c3.4,0,6.8-1.1,9.6-3.3L29.4,38.4l3.1-3.1l10.2,10.1c4.3-6.1,3.8-14.5-1.7-20c-3-3-7-4.5-11-4.5 s-7.9,1.5-11,4.5C13,31.4,13,41.2,19,47.3C22.1,50.3,26,51.8,30,51.8z"}),_.default.createElement("rect",{x:"40",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"45.9",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"34.1",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"16.5",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"10.6",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"22.4",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"28.2",y:"0",width:"3.5",height:"3.8"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--information "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{className:"icon--information__gylph",d:"M27.14,28.26h5.72V43.95H27.14V28.26ZM30,24.44a4,4,0,1,0-4-4A4,4,0,0,0,30,24.44Z"}),_.default.createElement("circle",{className:"icon--information__fill",cx:"30",cy:"30",r:"29.64"}),_.default.createElement("path",{className:"icon--information__ring",d:"M30,0.36A29.64,29.64,0,1,0,59.64,30,29.64,29.64,0,0,0,30,.36Zm0,55.79A26.15,26.15,0,1,1,56.15,30,26.15,26.15,0,0,1,30,56.15Z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--peers "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M47.95,1.4a12.05,12.05,0,0,0-11.78,9.55H23.84A12,12,0,1,0,12.05,25.5a11.92,11.92,0,0,0,3.56-.6l6,13a12.51,12.51,0,1,0,4.28-2.66L20,22.45a12,12,0,0,0,3.85-6.5H36.16A12,12,0,1,0,47.95,1.4ZM37.05,46.55A7.05,7.05,0,1,1,30,39.5,7.06,7.06,0,0,1,37.05,46.55ZM5,13.45a7.05,7.05,0,1,1,7.05,7.05A7.06,7.06,0,0,1,5,13.45ZM47.95,20.5A7.05,7.05,0,1,1,55,13.45,7.06,7.06,0,0,1,47.95,20.5Z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--seeds "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M47.95,1.4a12.05,12.05,0,0,0-11.78,9.55H23.84A12,12,0,1,0,12.05,25.5a11.92,11.92,0,0,0,3.56-.6l6,13a12.51,12.51,0,1,0,4.28-2.66L20,22.45a12,12,0,0,0,3.85-6.5H36.16A12,12,0,1,0,47.95,1.4ZM37.05,46.55A7.05,7.05,0,1,1,30,39.5,7.06,7.06,0,0,1,37.05,46.55Z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(385),_=n(404),m=r(_),v=n(998),g=r(v),y=n(938),E=r(y),M=n(999),T=r(M),S=n(939),b=r(S),L=n(940),k=r(L),w=n(1001),C=r(w),D=n(943),R=r(D),x=n(944),N=r(x),O=n(1002),A=r(O),Y=n(933),P=r(Y),I=n(950),F=r(I),H=function(e,t){return m.default.createElement(p.FormattedMessage,{id:"torrent.list.peers",defaultMessage:"{connected} {of} {total}",values:{connected:m.default.createElement(p.FormattedNumber,{value:e}),of:m.default.createElement("em",{className:"unit"},m.default.createElement(p.FormattedMessage,{id:"torrent.list.peers.of",defaultMessage:"of"})),total:m.default.createElement(p.FormattedNumber,{value:t})}})},j=function(e){return m.default.createElement(P.default,{value:e,isSpeed:!0})},U=function(e){return m.default.createElement(P.default,{value:e})},W={completed:m.default.createElement(b.default,null),eta:m.default.createElement(E.default,null),sizeBytes:m.default.createElement(T.default,null),downloadRate:m.default.createElement(b.default,null),added:m.default.createElement(g.default,null),peers:m.default.createElement(C.default,null),ratio:m.default.createElement(N.default,null),seeds:m.default.createElement(A.default,null),uploadRate:m.default.createElement(F.default,null),uploadTotal:m.default.createElement(F.default,null)},V={added:function(e){return m.default.createElement(p.FormattedDate,{value:1e3*e})},completed:function(e,t){return m.default.createElement("span",null,m.default.createElement(p.FormattedNumber,{value:e}),m.default.createElement("em",{className:"unit"},"%")," — ",m.default.createElement(P.default,{value:t}))},downloadRate:j,downloadTotal:U,seeds:H,peers:H,tags:function(e){return m.default.createElement("ul",{className:"torrent__tags tag"},e.map(function(e,t){return m.default.createElement("li",{className:"torrent__tag",key:t},e)}))},ratio:function(e){return m.default.createElement(R.default,{value:e})},sizeBytes:U,uploadRate:j,uploadTotal:U,eta:function(e){return e?m.default.createElement(k.default,{value:e}):null}},z=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.icon,r=e.secondaryValue,a=e.slug,i=e.value,o=e.width;return a in V&&(i=V[a](i,r)),n&&(n=W[a]),m.default.createElement("div",{className:"torrent__detail torrent__detail--"+a+" "+t,style:{width:o+"px"}},n,i)}}]),t}(m.default.PureComponent);z.defaultProps={className:""},t.default=z}]);
\ No newline at end of file
+},{label:this.props.intl.formatMessage({id:"filter.status.active",defaultMessage:"All"}),slug:"active",icon:v.default.createElement(y.default,null)},{label:this.props.intl.formatMessage({id:"filter.status.inactive",defaultMessage:"Inactive"}),slug:"inactive",icon:v.default.createElement(x.default,null)},{label:this.props.intl.formatMessage({id:"filter.status.error",defaultMessage:"Error"}),slug:"error",icon:v.default.createElement(w.default,null)}],n=t.map(function(t){return v.default.createElement(O.default,{handleClick:e.handleClick,count:e.state.statusCount[t.slug]||0,key:t.slug,icon:t.icon,isActive:t.slug===e.state.statusFilter,name:t.label,slug:t.slug})});return n}},{key:"onStatusFilterChange",value:function(){this.setState({statusFilter:I.default.getStatusFilter()})}},{key:"onTorrentTaxonomyChange",value:function(){var e=I.default.getTorrentStatusCount();this.setState({statusCount:e})}},{key:"render",value:function(){var e=this.getFilters();return v.default.createElement("ul",{className:"sidebar-filter sidebar__item"},v.default.createElement("li",{className:"sidebar-filter__item sidebar-filter__item--heading"},v.default.createElement(p.FormattedMessage,{id:"filter.status.title",defaultMessage:"Filter by Status"})),e)}}]),t}(v.default.Component);t.default=(0,p.injectIntl)(W)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--active "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M25.7,25.7H13v17.4H2.6L19.3,60L36,43.1H25.7V25.7z M40.7,0L24,16.9h10.3v17.4H47V16.9h10.3L40.7,0z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--all "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("polygon",{points:"52,20.6 48.6,14.7 33.4,24 33.4,8.7 26.6,8.7 26.6,24 11.4,14.7 8,20.6 23.4,30 8,39.4 11.4,45.3 26.6,36 26.6,51.3 33.4,51.3 33.4,36 48.6,45.3 52,39.4 36.6,30 "}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--completed "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("polygon",{points:"55.5,18.6 46.1,8.7 24.4,31.5 13.9,20.4 4.5,30.3 24.4,51.3 24.4,51.3 24.4,51.3"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--download-small "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M55.9,39.1l-8.8-6.4h-5.4l9.4,7.8h-9.8c-0.3,0-0.5,0.2-0.7,0.4l-2.3,6.7H21.7l-2.3-6.7 c-0.1-0.2-0.4-0.4-0.7-0.4H8.9l9.4-7.8h-5.4l-8.8,6.4C2.8,40,2,41.9,2.4,43.5l1.6,9.2c0.4,1.5,1.9,2.8,3.5,2.8h45.2 c1.6,0,3.1-1.3,3.5-2.8l1.6-9.2C58,41.9,57.2,40,55.9,39.1z M44.4,20.1h-8.9V4.5h-11v15.6h-8.9L30,34.5L44.4,20.1z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--inactive "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M56,52H42l-9.7-12.5l-11,4.8L13,20.7l-7,4l-2-9.9L17.2,8l9.5,24.4l9.6-4.3l10.9,15.4H56V52z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(385),_=n(644),m=r(_),v=n(404),g=r(v),y=n(952),E=r(y),M=n(688),T=(r(M),n(709)),S=(r(T),["handleClick"]),b=function(e){function t(){(0,s.default)(this,t);var e=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this));return S.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,h.default)(t,e),(0,l.default)(t,[{key:"handleClick",value:function(){this.props.handleClick(this.props.slug)}},{key:"render",value:function(){var e=(0,m.default)("sidebar-filter__item",{"is-active":this.props.isActive}),t=this.props.name;return"all"===this.props.name?t=this.props.intl.formatMessage({id:"filter.all",defaultMessage:"All"}):"untagged"===this.props.name&&(t=this.props.intl.formatMessage({id:"filter.untagged",defaultMessage:"Untagged"})),g.default.createElement("li",{className:e,onClick:this.handleClick},this.props.icon,t,g.default.createElement(E.default,null,this.props.count))}}]),t}(g.default.Component);t.default=(0,p.injectIntl)(b)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(641),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(644),v=(r(m),n(385)),g=n(404),y=r(g),E=n(688),M=r(E),T=n(982),S=r(T),b=n(709),L=r(b),k=n(697),w=(r(k),n(710)),C=r(w),D=["getFilters","handleClick","onTagFilterChange","onTorrentTaxonomyChange"],R=function(e){function t(){(0,l.default)(this,t);var e=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this));return e.state={tagCount:{},tagFilter:L.default.getTagFilter()},D.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,_.default)(t,e),(0,d.default)(t,[{key:"componentDidMount",value:function(){L.default.listen(M.default.CLIENT_FETCH_TORRENT_TAXONOMY_SUCCESS,this.onTorrentTaxonomyChange),L.default.listen(M.default.UI_TORRENTS_FILTER_TAG_CHANGE,this.onTagFilterChange)}},{key:"componentWillUnmount",value:function(){L.default.unlisten(M.default.CLIENT_FETCH_TORRENT_TAXONOMY_SUCCESS,this.onTorrentTaxonomyChange),L.default.unlisten(M.default.UI_TORRENTS_FILTER_TAG_CHANGE,this.onTagFilterChange)}},{key:"getFilters",value:function(){var e=this,t=(0,i.default)(this.state.tagCount).sort(function(e,t){return"all"===e||"untagged"===e?-1:"all"===t||"untagged"===t?1:e.localeCompare(t)}),n=t.map(function(t,n){return y.default.createElement(S.default,{handleClick:e.handleClick,count:e.state.tagCount[t]||0,key:t,isActive:t===e.state.tagFilter,name:t,slug:t})});return n}},{key:"handleClick",value:function(e){C.default.setTorrentTagFilter(e)}},{key:"hasTags",value:function(){var e=(0,i.default)(this.state.tagCount);return!(1===e.length&&"all"===e[0]||2===e.length&&"untagged"===e[1])}},{key:"onTagFilterChange",value:function(){this.setState({tagFilter:L.default.getTagFilter()})}},{key:"onTorrentTaxonomyChange",value:function(){var e=L.default.getTorrentTagCount();this.setState({tagCount:e})}},{key:"render",value:function(){return this.hasTags()?y.default.createElement("ul",{className:"sidebar-filter sidebar__item"},y.default.createElement("li",{className:"sidebar-filter__item sidebar-filter__item--heading"},y.default.createElement(v.FormattedMessage,{id:"filter.tag.title",defaultMessage:"Filter by Tag"})),this.getFilters()):null}}]),t}(y.default.Component);t.default=R},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(641),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(385),v=n(644),g=(r(v),n(404)),y=r(g),E=n(688),M=r(E),T=n(982),S=r(T),b=n(709),L=r(b),k=n(697),w=(r(k),n(710)),C=r(w),D=["getFilters","handleClick","onTrackerFilterChange","onTorrentTaxonomyChange"],R=function(e){function t(){(0,l.default)(this,t);var e=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this));return e.state={trackerCount:{},trackerFilter:L.default.getTrackerFilter()},D.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,_.default)(t,e),(0,d.default)(t,[{key:"componentDidMount",value:function(){L.default.listen(M.default.CLIENT_FETCH_TORRENT_TAXONOMY_SUCCESS,this.onTorrentTaxonomyChange),L.default.listen(M.default.UI_TORRENTS_FILTER_TRACKER_CHANGE,this.onTrackerFilterChange)}},{key:"componentWillUnmount",value:function(){L.default.unlisten(M.default.CLIENT_FETCH_TORRENT_TAXONOMY_SUCCESS,this.onTorrentTaxonomyChange),L.default.unlisten(M.default.UI_TORRENTS_FILTER_TRACKER_CHANGE,this.onTrackerFilterChange)}},{key:"getFilters",value:function(){var e=this,t=(0,i.default)(this.state.trackerCount).sort(function(e,t){return"all"===e?-1:"all"===t?1:e.localeCompare(t)}),n=t.map(function(t,n){return y.default.createElement(S.default,{handleClick:e.handleClick,count:e.state.trackerCount[t]||0,key:t,isActive:t===e.state.trackerFilter,name:t,slug:t})});return n}},{key:"handleClick",value:function(e){C.default.setTorrentTrackerFilter(e)}},{key:"hasTrackers",value:function(){var e=(0,i.default)(this.state.trackerCount);return!(1===e.length&&"all"===e[0])}},{key:"onTrackerFilterChange",value:function(){this.setState({trackerFilter:L.default.getTrackerFilter()})}},{key:"onTorrentTaxonomyChange",value:function(){var e=L.default.getTorrentTrackerCount();this.setState({trackerCount:e})}},{key:"render",value:function(){var e=this.getFilters();return this.hasTrackers()?y.default.createElement("ul",{className:"sidebar-filter sidebar__item"},y.default.createElement("li",{className:"sidebar-filter__item sidebar-filter__item--heading"},y.default.createElement(m.FormattedMessage,{id:"filter.tracker.title",defaultMessage:"Filter by Tracker"})),e):null}}]),t}(y.default.Component);t.default=R},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(986),v=r(m),g=n(992),y=r(g),E=n(993),M=r(E),T=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement(y.default,{modifier:"torrent-list",className:"view--torrent-list"},_.default.createElement(v.default,null),_.default.createElement(M.default,null))}}]),t}(_.default.Component);T.propTypes={children:_.default.PropTypes.node},t.default=T},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(644),_=r(p),m=n(385),v=n(404),g=r(v),y=n(987),E=r(y),M=n(988),T=r(M),S=n(688),b=r(S),L=n(941),k=r(L),w=n(989),C=r(w),D=n(705),R=r(D),x=n(990),N=r(x),O=n(945),A=r(O),Y=n(946),P=r(Y),I=n(724),F=(r(I),n(696)),H=r(F),j=n(709),U=(r(j),n(697)),W=r(U),V=n(710),z=r(V),G=["handleAddTorrents","handleRemoveTorrents","handleSortChange","handleStart","handleStop","handleSettingsChange"],B=function(e){function t(){(0,s.default)(this,t);var e=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this));return e.state={sortBy:R.default.getFloodSettings("sortTorrents"),torrentListViewSize:R.default.getFloodSettings("torrentListViewSize")},G.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,h.default)(t,e),(0,l.default)(t,[{key:"componentDidMount",value:function(){R.default.listen(b.default.SETTINGS_CHANGE,this.handleSettingsChange)}},{key:"componentWillUnmount",value:function(){R.default.unlisten(b.default.SETTINGS_CHANGE,this.handleSettingsChange)}},{key:"handleAddTorrents",value:function(){z.default.displayModal({id:"add-torrents"})}},{key:"handleRemoveTorrents",value:function(){z.default.displayModal({id:"remove-torrents"})}},{key:"handleSortChange",value:function(e){this.setState({sortBy:e}),R.default.saveFloodSettings({id:"sortTorrents",data:e}),z.default.setTorrentsSort(e)}},{key:"handleStart",value:function(){H.default.startTorrents(W.default.getSelectedTorrents())}},{key:"handleStop",value:function(){H.default.stopTorrents(W.default.getSelectedTorrents())}},{key:"handleSettingsChange",value:function(){this.setState({sortBy:R.default.getFloodSettings("sortTorrents"),torrentListViewSize:R.default.getFloodSettings("torrentListViewSize")})}},{key:"render",value:function(){var e=(0,_.default)("action-bar",{"action-bar--is-condensed":"condensed"===this.state.torrentListViewSize});return g.default.createElement("nav",{className:e},g.default.createElement("div",{className:"actions action-bar__item action-bar__item--sort-torrents"},g.default.createElement(N.default,{direction:this.state.sortBy.direction,onSortChange:this.handleSortChange,selectedProperty:this.state.sortBy.property})),g.default.createElement("div",{className:"actions action-bar__item action-bar__item--torrent-operations"},g.default.createElement("div",{className:"action-bar__group"},g.default.createElement(E.default,{label:"Start Torrent",slug:"start-torrent",icon:g.default.createElement(A.default,null),clickHandler:this.handleStart}),g.default.createElement(E.default,{label:"Stop Torrent",slug:"stop-torrent",icon:g.default.createElement(P.default,null),clickHandler:this.handleStop}),g.default.createElement(E.default,{label:"Pause Torrent",slug:"pause-torrent",icon:g.default.createElement(k.default,null),clickHandler:this.handlePause})),g.default.createElement("div",{className:"action-bar__group action-bar__group--has-divider"},g.default.createElement(E.default,{label:"Add Torrent",slug:"add-torrent",icon:g.default.createElement(T.default,null),clickHandler:this.handleAddTorrents}),g.default.createElement(E.default,{label:"Remove Torrent",slug:"remove-torrent",icon:g.default.createElement(C.default,null),clickHandler:this.handleRemoveTorrents}))))}}]),t}(g.default.Component);t.default=(0,m.injectIntl)(B)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(946),v=(r(m),function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){var e="action action--"+this.props.slug;return _.default.createElement("div",{className:e,onClick:this.props.clickHandler},this.props.icon,_.default.createElement("span",{className:"action__label"},this.props.label))}}]),t}(_.default.Component));t.default=v},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--add "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M53.7 25.3h-19v-19h-9.4v19h-19v9.4h19v19h9.4v-19h19"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--remove "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M53.7,25.3H6.3v9.4h47.4"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(385),_=n(644),m=(r(_),n(645)),v=(r(m),n(404)),g=r(v),y=n(777),E=r(y),M=n(991),T=r(M),S=["getDropdownHeader","handleItemSelect"],b=["name","eta","downloadRate","uploadRate","ratio","percentComplete","downloadTotal","uploadTotal","sizeBytes","added"],L=function(e){function t(){(0,s.default)(this,t);var e=(0,d.default)(this,(t.__proto__||(0,i.default)(t)).call(this));return S.forEach(function(t){e[t]=e[t].bind(e)}),e}return(0,h.default)(t,e),(0,l.default)(t,[{key:"getDropdownHeader",value:function(){return g.default.createElement("a",{className:"dropdown__button"},g.default.createElement("label",{className:"dropdown__label"},g.default.createElement(p.FormattedMessage,{id:"torrents.sort.title",defaultMessage:"Sort By"})),g.default.createElement("span",{className:"dropdown__value"},g.default.createElement(p.FormattedMessage,{id:T.default[this.props.selectedProperty].id,defaultMessage:T.default[this.props.selectedProperty].defaultMessage})))}},{key:"getDropdownMenus",value:function(){var e=this,t=b.map(function(t){return{displayName:e.props.intl.formatMessage(T.default[t]),selected:e.props.selectedProperty===t,property:t}});return[t]}},{key:"handleItemSelect",value:function(e){var t=this.props.direction,n=e.property;t=this.props.selectedProperty===n&&"asc"===t?"desc":"asc",this.props.onSortChange({direction:t,property:n})}},{key:"render",value:function(){return null==this.props.selectedProperty?null:g.default.createElement(E.default,{handleItemSelect:this.handleItemSelect,header:this.getDropdownHeader(),menuItems:this.getDropdownMenus()})}}]),t}(g.default.Component);t.default=(0,p.injectIntl)(L)},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={added:{id:"torrents.properties.added",defaultMessage:"Date Added"},downloadRate:{id:"torrents.properties.download.speed",defaultMessage:"Download Speed"},downloadTotal:{id:"torrents.properties.download.total",defaultMessage:"Downloaded"},eta:{id:"torrents.properties.eta",defaultMessage:"ETA"},name:{id:"torrents.properties.name",defaultMessage:"Name"},peers:{id:"torrents.properties.peers",defaultMessage:"Peers"},percentComplete:{id:"torrents.properties.percentage",defaultMessage:"Percent Complete"},ratio:{id:"torrents.properties.ratio",defaultMessage:"Ratio"},seeds:{id:"torrents.properties.seeds",defaultMessage:"Seeds"},sizeBytes:{id:"torrents.properties.size",defaultMessage:"File Size"},uploadRate:{id:"torrents.properties.upload.speed",defaultMessage:"Upload Speed"},uploadTotal:{id:"torrents.properties.upload.total",defaultMessage:"Uploaded"}};t.default=n},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(713),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(644),v=r(m),g=n(404),y=r(g),E=function(e){function t(){return(0,l.default)(this,t),(0,h.default)(this,(t.__proto__||(0,s.default)(t)).apply(this,arguments))}return(0,_.default)(t,e),(0,d.default)(t,[{key:"render",value:function(){var e,t=(0,v.default)(this.props.baseClassName,(e={},(0,i.default)(e,this.props.baseClassName+"--"+this.props.modifier,this.props.baseClassName),(0,i.default)(e,this.props.className,this.props.className),e));return y.default.createElement("div",{className:t},this.props.children)}}]),t}(y.default.Component);E.defaultProps={baseClassName:"application__panel"},E.propTypes={children:y.default.PropTypes.node,className:y.default.PropTypes.string,modifier:y.default.PropTypes.string},t.default=E},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(636),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(385),v=n(698),g=r(v),y=n(644),E=(r(y),n(645)),M=r(E),T=n(404),S=r(T),b=n(489),L=(r(b),n(994)),k=r(L),w=n(745),C=r(w),D=n(688),R=r(D),x=n(995),N=r(x),O=n(692),A=r(O),Y=n(932),P=(r(Y),n(931)),I=r(P),F=n(705),H=r(F),j=n(996),U=r(j),W=n(997),V=r(W),z=n(696),G=r(z),B=n(709),q=r(B),J=n(697),Q=r(J),K=n(710),Z=r(K),X=n(693),$=r(X),ee=(0,m.defineMessages)({torrentListDependency:{id:"dependency.loading.torrent.list",defaultMessage:"Torrent List"}}),te=["bindExternalPriorityChangeHandler","getVerticalScrollbarThumb","handleContextMenuItemClick","handleDetailsClick","handleHorizontalScroll","handleHorizontalScrollStop","handlePropWidthChange","handleContextMenuClick","handleSettingsChange","handleTorrentClick","onContextMenuChange","onReceiveTorrentsError","onReceiveTorrentsSuccess","onTorrentFilterChange","onTorrentSelectionChange","updateVerticalThumbPosition","renderListItem","updateTorrentListViewWidth"],ne=100,re={name:200,eta:100},ae=function(t){function n(e){(0,l.default)(this,n);var t=(0,h.default)(this,(n.__proto__||(0,s.default)(n)).call(this));return t.lastScrollLeft=0,t.state={displayedProperties:H.default.getFloodSettings("torrentDetails"),emptyTorrentList:!1,floodSettingsFetched:!1,handleTorrentPriorityChange:null,contextMenu:null,tableScrollLeft:0,torrentCount:0,torrentHeight:null,torrentListColumnWidths:H.default.getFloodSettings("torrentListColumnWidths"),torrentListViewSize:H.default.getFloodSettings("torrentListViewSize"),torrentListViewportSize:null,torrents:[],torrentRequestError:!1,torrentRequestSuccess:!1,viewportHeight:0},te.forEach(function(e){t[e]=t[e].bind(t)}),$.default.registerDependency({id:"torrent-list",message:e.intl.formatMessage(ee.torrentListDependency)}),t.updateTorrentListViewWidth=g.default.debounce(t.updateTorrentListViewWidth,100,{trailing:!0}),t}return(0,_.default)(n,t),(0,d.default)(n,[{key:"componentDidMount",value:function(){H.default.listen(R.default.SETTINGS_CHANGE,this.handleSettingsChange),Q.default.listen(R.default.UI_TORRENT_SELECTION_CHANGE,this.onTorrentSelectionChange),Q.default.listen(R.default.CLIENT_TORRENTS_REQUEST_SUCCESS,this.onReceiveTorrentsSuccess),Q.default.listen(R.default.UI_TORRENTS_LIST_FILTERED,this.onReceiveTorrentsSuccess),Q.default.listen(R.default.CLIENT_TORRENTS_REQUEST_ERROR,this.onReceiveTorrentsError),q.default.listen(R.default.UI_TORRENTS_FILTER_CHANGE,this.onTorrentFilterChange),$.default.listen(R.default.UI_CONTEXT_MENU_CHANGE,this.onContextMenuChange),Q.default.fetchTorrents(),e.addEventListener("resize",this.updateTorrentListViewWidth)}},{key:"componentWillUnmount",value:function(){H.default.unlisten(R.default.SETTINGS_CHANGE,this.handleSettingsChange),Q.default.unlisten(R.default.UI_TORRENT_SELECTION_CHANGE,this.onTorrentSelectionChange),Q.default.unlisten(R.default.CLIENT_TORRENTS_REQUEST_SUCCESS,this.onReceiveTorrentsSuccess),Q.default.unlisten(R.default.UI_TORRENTS_LIST_FILTERED,this.onReceiveTorrentsSuccess),Q.default.unlisten(R.default.CLIENT_TORRENTS_REQUEST_ERROR,this.onReceiveTorrentsError),q.default.unlisten(R.default.UI_TORRENTS_FILTER_CHANGE,this.onTorrentFilterChange),$.default.unlisten(R.default.UI_CONTEXT_MENU_CHANGE,this.onContextMenuChange),e.removeEventListener("resize",this.updateTorrentListViewWidth)}},{key:"componentWillUpdate",value:function(e,t){t.torrentListViewSize!==this.state.torrentListViewSize&&null!=this.listViewportRef&&this.listViewportRef.measureItemHeight()}},{key:"componentDidUpdate",value:function(e,t){var n=this.state.torrentListViewSize,r="condensed"===n,a="condensed"===t.torrentListViewSize;null!=this.horizontalScrollRef&&null==this.state.torrentListViewportSize&&this.updateTorrentListViewWidth(),null!=this.verticalScrollbarThumb&&(!r&&a?this.updateVerticalThumbPosition(0):r&&this.updateVerticalThumbPosition((this.getTotalCellWidth()-this.listContainer.clientWidth)*-1+this.lastScrollLeft))}},{key:"bindExternalPriorityChangeHandler",value:function(e){this.setState({handleTorrentPriorityChange:e})}},{key:"getContextMenuItems",value:function(e){var t=this.handleContextMenuItemClick;return[{action:"start",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.start",defaultMessage:"Start"})},{action:"stop",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.stop",defaultMessage:"Stop"})},{action:"pause",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.pause",defaultMessage:"Pause"})},{action:"remove",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.remove",defaultMessage:"Remove"})},{action:"check-hash",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.check.hash",defaultMessage:"Check Hash"})},{type:"separator"},{action:"set-taxonomy",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.set.tags",defaultMessage:"Set Tags"})},{action:"move",clickHandler:t,label:this.props.intl.formatMessage({id:"torrents.list.context.move",defaultMessage:"Set Download Location"})},{type:"separator"},{action:"torrent-details",clickHandler:function(n,r){t(n,r,e)},label:this.props.intl.formatMessage({id:"torrents.list.context.details",defaultMessage:"Torrent Details"})},{action:"set-priority",clickHandler:t,dismissMenu:!1,label:this.props.intl.formatMessage({id:"torrents.list.context.priority",defaultMessage:"Priority"}),labelAction:S.default.createElement(I.default,{id:e.hash,key:e.hash,bindExternalChangeHandler:this.bindExternalPriorityChangeHandler,level:e.priority,maxLevel:3,priorityType:"torrent",onChange:this.handleTorrentPriorityChange,showLabel:!1})}]}},{key:"handleContextMenuItemClick",value:function(e,t,n){var r=Q.default.getSelectedTorrents();switch(e){case"check-hash":G.default.checkHash(r);break;case"set-taxonomy":Z.default.displayModal({id:"set-taxonomy"});break;case"start":G.default.startTorrents(r);break;case"stop":G.default.stopTorrents(r);break;case"pause":G.default.pauseTorrents(r);break;case"remove":Z.default.displayModal({id:"remove-torrents"});break;case"move":Z.default.displayModal({id:"move-torrents"});break;case"torrent-details":this.handleDetailsClick(n,t);break;case"set-priority":this.state.handleTorrentPriorityChange(t)}}},{key:"handleDetailsClick",value:function(e,t){Z.default.handleDetailsClick({hash:e.hash,event:t}),Z.default.displayModal({id:"torrent-details",options:{hash:e.hash}})}},{key:"handleDoubleClick",value:function(e,t){this.handleDetailsClick(e,t)}},{key:"handleContextMenuClick",value:function(e,t){t.preventDefault(),$.default.setActiveContextMenu({clickPosition:{x:t.clientX,y:t.clientY},items:this.getContextMenuItems(e)})}},{key:"handleSettingsChange",value:function(){this.setState({displayedProperties:H.default.getFloodSettings("torrentDetails"),floodSettingsFetched:!0,torrentListColumnWidths:H.default.getFloodSettings("torrentListColumnWidths"),torrentListViewSize:H.default.getFloodSettings("torrentListViewSize")})}},{key:"handleTableHeadingCellClick",value:function(e,t){var n=q.default.getTorrentsSort(),r="asc";n.property===e&&(r="asc"===n.direction?"desc":"asc");var a={property:e,direction:r};H.default.saveFloodSettings({id:"sortTorrents",data:a}),Z.default.setTorrentsSort(a)}},{key:"handleTorrentClick",value:function(e,t){Z.default.handleTorrentClick({hash:e,event:t})}},{key:"handleTorrentPriorityChange",value:function(e,t){G.default.setPriority(e,t)}},{key:"onContextMenuChange",value:function(){this.setState({contextMenu:$.default.getActiveContextMenu()})}},{key:"onReceiveTorrentsError",value:function(){this.setState({torrentRequestError:!0,torrentRequestSuccess:!1})}},{key:"onReceiveTorrentsSuccess",value:function(){var e=Q.default.getTorrents();this.setState({emptyTorrentList:0===e.length,torrents:e,torrentCount:e.length,torrentRequestError:!1,torrentRequestSuccess:!0},function(){return $.default.satisfyDependency("torrent-list")})}},{key:"onTorrentFilterChange",value:function(){this.forceUpdate()}},{key:"onTorrentSelectionChange",value:function(){this.forceUpdate()}},{key:"getEmptyTorrentListNotification",value:function(){var e=null;return q.default.isFilterActive()&&(e=S.default.createElement("div",{className:"torrents__alert__action"},S.default.createElement("button",{className:"button button--small button--deemphasize button--inverse",onClick:this.handleClearFiltersClick},S.default.createElement(m.FormattedMessage,{id:"torrents.list.clear.filters",defaultMessage:"Clear Filters"})))),S.default.createElement("div",{className:"torrents__alert__wrapper"},S.default.createElement("div",{className:"torrents__alert"},S.default.createElement(m.FormattedMessage,{id:"torrents.list.no.torrents",defaultMessage:"No torrents to display."})),e)}},{key:"getCellWidth",value:function(e){var t=this.state.torrentListColumnWidths[e]||re[e]||ne;return t}},{key:"getListWrapperStyle",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(e.isCondensed&&!e.isListEmpty){var t=this.getTotalCellWidth();if(t>=this.state.torrentListViewportSize)return{width:t+"px"}}return null}},{key:"getLoadingIndicator",value:function(){return S.default.createElement(A.default,null)}},{key:"getTotalCellWidth",value:function(){var e=this;return this.state.displayedProperties.reduce(function(t,n){return t+e.getCellWidth(n)},0)}},{key:"getVerticalScrollbarThumb",value:function(e,t){var n=this;return S.default.createElement("div",e,S.default.createElement("div",{className:"scrollbars__thumb scrollbars__thumb--horizontal scrollbars__thumb--surrogate",onMouseUp:t,ref:function(e){return n.verticalScrollbarThumb=e}}))}},{key:"handleClearFiltersClick",value:function(){q.default.clearAllFilters()}},{key:"handleHorizontalScroll",value:function(e){if(null!=this.verticalScrollbarThumb){var t=e.target,n=t.clientWidth,r=t.scrollLeft,a=t.scrollWidth;this.lastScrollLeft=r,this.updateVerticalThumbPosition((a-n)*-1+r)}}},{key:"handleHorizontalScrollStop",value:function(){this.setState({tableScrollLeft:this.lastScrollLeft})}},{key:"handlePropWidthChange",value:function(e){var t=(0,i.default)({},this.state.torrentListColumnWidths,e);H.default.saveFloodSettings({id:"torrentListColumnWidths",data:t}),this.setState({torrentListColumnWidths:t})}},{key:"renderListItem",value:function(e,t){var n=Q.default.getSelectedTorrents(),r=this.state,a=(r.displayedProperties,r.torrents),i=a[e],o=i.hash;return S.default.createElement(V.default,{defaultPropWidths:re,defaultWidth:ne,handleClick:this.handleTorrentClick,handleDetailsClick:this.handleDetailsClick,handleDoubleClick:this.handleDoubleClick,handleRightClick:this.handleContextMenuClick,index:e,isCondensed:t.isCondensed,key:o,properties:this.state.displayedProperties,propWidths:this.state.torrentListColumnWidths,selected:n.includes(o),
+torrent:i})}},{key:"updateTorrentListViewWidth",value:function(){null!=this.horizontalScrollRef&&this.setState({torrentListViewportSize:this.horizontalScrollRef.refs.scrollbar.getClientWidth()})}},{key:"updateVerticalThumbPosition",value:function(e){this.verticalScrollbarThumb.style.transform="translateX("+e+"px)"}},{key:"render",value:function(){var e=this;if(!this.state.floodSettingsFetched)return null;var t=null,n=null,r=null,a="condensed"===this.state.torrentListViewSize,i=this.state.emptyTorrentList||0===this.state.torrents.length,o=this.getListWrapperStyle({isCondensed:a,isListEmpty:i});return i?t=this.getEmptyTorrentListNotification():this.state.torrentRequestSuccess?(t=S.default.createElement(N.default,{getVerticalThumb:this.getVerticalScrollbarThumb,itemRenderer:this.renderListItem,itemRendererProps:{isCondensed:a},listClass:"torrent__list",listLength:this.state.torrentCount,ref:function(t){return e.listViewportRef=t},scrollContainerClass:"torrent__list__scrollbars--vertical"}),a&&(r=S.default.createElement(U.default,{sortProp:q.default.getTorrentsSort(),defaultWidth:ne,defaultPropWidths:re,scrollOffset:this.state.tableScrollLeft,onCellClick:this.handleTableHeadingCellClick,onWidthsChange:this.handlePropWidthChange,properties:this.state.displayedProperties,propWidths:this.state.torrentListColumnWidths}))):t=this.getLoadingIndicator(),null!=this.state.contextMenu&&(n=S.default.createElement(k.default,{clickPosition:this.state.contextMenu.clickPosition,items:this.state.contextMenu.items})),S.default.createElement("div",{className:"torrents",ref:function(t){return e.listContainer=t}},S.default.createElement(C.default,{className:"torrent__list__scrollbars--horizontal",onScrollStop:this.handleHorizontalScrollStop,nativeScrollHandler:this.handleHorizontalScroll,ref:function(t){return e.horizontalScrollRef=t}},S.default.createElement("div",{className:"torrent__list__wrapper",style:o},S.default.createElement(M.default,{transitionName:"menu",transitionEnterTimeout:250,transitionLeaveTimeout:250},n),r,t)))}}]),n}(S.default.Component);t.default=(0,m.injectIntl)(ae)}).call(t,function(){return this}())},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(636),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(644),v=r(m),g=n(404),y=r(g),E=n(489),M=r(E),T=n(710),S=r(T),b=function(t){function n(){(0,l.default)(this,n);var e=(0,h.default)(this,(n.__proto__||(0,s.default)(n)).call(this));return e.state={menuPosition:{},isMenuPositionIdeal:!1},e}return(0,_.default)(n,t),(0,d.default)(n,[{key:"componentDidMount",value:function(){e.document.addEventListener("keydown",this.handleKeyPress),e.document.addEventListener("click",this.handleClick),this.props.onMenuOpen&&this.props.onMenuOpen(),this.checkMenuPosition()}},{key:"componentDidUpdate",value:function(){this.checkMenuPosition()}},{key:"componentWillUnmount",value:function(){e.document.addEventListener("keydown",this.handleKeyPress),e.document.removeEventListener("click",this.handleClick),this.props.onMenuClose&&this.props.onMenuClose()}},{key:"componentWillUpdate",value:function(e){e.clickPosition.x===this.props.clickPosition.x&&e.clickPosition.y===this.props.clickPosition.y||this.setState({isMenuPositionIdeal:!1,menuPosition:this.getMenuPosition()})}},{key:"checkMenuPosition",value:function(){this.state.isMenuPositionIdeal||this.setState({isMenuPositionIdeal:!0,menuPosition:this.getMenuPosition()})}},{key:"getMenuPosition",value:function(){var e=this.getRenderedMenuBorderBox(),t=this.getViewportDimensions(),n={};return e.left+e.width>t.width?n.right=t.width-this.props.clickPosition.x:n.left=e.left,e.height+this.props.clickPosition.y>t.height?n.bottom=t.height-this.props.clickPosition.y:n.top=e.top,n}},{key:"getViewportDimensions",value:function(){var t=e.window.innerHeight,n=e.window.innerWidth;return{height:t,width:n}}},{key:"getRenderedMenuBorderBox",value:function(){var e=M.default.findDOMNode(this);return e?e.getBoundingClientRect():null}},{key:"getMenuItems",value:function(e){var t=this;return e.map(function(e,n){var r=void 0,a=void 0,i=void 0,o=(0,v.default)("menu__item",{"is-selectable":e.clickHandler,"menu__item--separator":"separator"===e.type}),s=(0,v.default)("menu__item__label--primary",{"has-action":e.labelAction});return e.labelSecondary&&(a=y.default.createElement("span",{className:"menu__item__label--secondary"},e.labelSecondary)),e.labelAction&&(r=y.default.createElement("span",{className:"menu__item__label__action"},e.labelAction)),"separator"!==e.type&&(i=y.default.createElement("span",null,y.default.createElement("span",{className:s},y.default.createElement("span",{className:"menu__item__label"},e.label),r),a)),y.default.createElement("li",{className:o,key:n,onClick:t.handleMenuItemClick.bind(t,e)},i)})}},{key:"handleClick",value:function(e){1===e.which&&S.default.dismissContextMenu()}},{key:"handleKeyPress",value:function(e){27===e.keyCode&&S.default.dismissContextMenu()}},{key:"handleMenuItemClick",value:function(e,t){return e.dismissMenu===!1&&t.nativeEvent.stopImmediatePropagation(),e.clickHandler&&e.clickHandler(e.action,t),!1}},{key:"render",value:function(){var e="context-menu menu",t={left:this.props.clickPosition.x,top:this.props.clickPosition.y},n="hidden";this.state.isMenuPositionIdeal&&(n="visible",t=this.state.menuPosition);var r=(0,i.default)({width:this.props.width+"px"},t,{visibility:n});return y.default.createElement("div",{className:e,style:r},this.getMenuItems(this.props.items))}}]),n}(y.default.Component);t.default=b,b.defaultProps={width:200},b.propTypes={clickPosition:y.default.PropTypes.object,onMenuClose:y.default.PropTypes.func,onMenuOpen:y.default.PropTypes.func,items:y.default.PropTypes.array,width:y.default.PropTypes.number}}).call(t,function(){return this}())},function(e,t,n){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(698),_=r(p),m=n(404),v=r(m),g=n(745),y=r(g),E=["getListPadding","getViewportLimits","handleScroll","handleScrollStart","handleScrollStop","measureItemHeight","setScrollPosition","setViewportHeight"],M=function(t){function n(){(0,s.default)(this,n);var e=(0,d.default)(this,(n.__proto__||(0,i.default)(n)).call(this));return e.lastScrollTop=0,e.nodeRefs={},e.state={isScrolling:!1,itemHeight:null,listVerticalPadding:null,scrollTop:0,viewportHeight:null},E.forEach(function(t){e[t]=e[t].bind(e)}),e.setViewportHeight=_.default.debounce(e.setViewportHeight,250),e.setScrollPosition=_.default.throttle(e.setScrollPosition,100,{trailing:!0}),e}return(0,h.default)(n,t),(0,l.default)(n,[{key:"componentDidMount",value:function(){e.addEventListener("resize",this.setViewportHeight),this.setViewportHeight()}},{key:"componentDidUpdate",value:function(){var t=this.nodeRefs,n=this.state;if(null==n.itemHeight&&null!=t.topSpacer&&this.setState({itemHeight:t.topSpacer.nextSibling.offsetHeight}),null==n.listVerticalPadding&&null!=t.list){var r=e.getComputedStyle(t.list),a=Number(r["padding-bottom"].replace("px","")),i=Number(r["padding-top"].replace("px",""));this.setState({listVerticalPadding:a+i})}}},{key:"componentWillUnmount",value:function(){e.removeEventListener("resize",this.setViewportHeight)}},{key:"shouldComponentUpdate",value:function(e,t){var n=t.scrollTop-this.lastScrollTop,r=this.nodeRefs.outerScrollbar;return!(t.isScrolling&&(n>this.state.viewportHeight||n0?t=18:(t=10,n=10));var r=this.state,a=r.itemHeight,i=r.listVerticalPadding,o=r.scrollTop,s=r.viewportHeight;i&&(s-=i);var u=Math.ceil(s/a),l=Math.max(0,Math.floor(o/a)-n),c=Math.min(this.props.listLength,l+u+t+n);return{minItemIndex:l,maxItemIndex:c}}},{key:"handleScroll",value:function(e){this.setScrollPosition(e)}},{key:"handleScrollStart",value:function(){this.setState({isScrolling:!0})}},{key:"handleScrollStop",value:function(){this.setState({isScrolling:!1})}},{key:"measureItemHeight",value:function(){var e=this;this.lastScrollTop=0,this.setState({scrollTop:0,itemHeight:null},function(){e.nodeRefs.outerScrollbar.refs.scrollbar.scrollTop(0)})}},{key:"getListPadding",value:function(e,t,n){var r=this.state.itemHeight;if(null==r)return{bottom:0,top:0};e<0&&(e=0),t>n&&(t=n);var a=(n-t)*r,i=e*r;return{bottom:a,top:i}}},{key:"setScrollPosition",value:function(e){this.lastScrollTop=this.state.scrollTop,this.setState({scrollTop:e.scrollTop})}},{key:"setViewportHeight",value:function(){var e=this.nodeRefs;e.outerScrollbar&&this.setState({viewportHeight:e.outerScrollbar.refs.scrollbar.getClientHeight()})}},{key:"render",value:function(){for(var e=this,t=this.lastScrollTop,n=this.nodeRefs,r=this.props,a=this.state,i=this.getViewportLimits(a.scrollTop-t),o=i.minItemIndex,s=i.maxItemIndex,u=this.getListPadding(o,s,r.listLength),l=[],c=o;c20&&(this.focusedCellWidth=n,this.lastMouseX=e.clientX,this.resizeLine.style.transform="translateX("+Math.max(0,e.clientX-this.tableHeadingX+this.props.scrollOffset)+"px)",this.handleWidthChange(this.focusedCell,n))}},{key:"handleMouseUp",value:function(t){k.default.removeGlobalStyle(C),e.document.removeEventListener("mouseup",this.handleMouseUp),e.document.removeEventListener("mousemove",this.handleMouseMove),this.focusedCell=null,this.focusedCellWidth=null,this.isMouseDown=!1,this.lastMouseX=null,this.resizeLine.style.opacity=0,this.handleWidthChange.flush()}},{key:"handleCellClick",value:function(e,t){this.props.onCellClick(e,t)}},{key:"handleCellMouseDown",value:function(t,n,r){this.isMouseDown||(k.default.addGlobalStyle(C),e.document.addEventListener("mouseup",this.handleMouseUp),e.document.addEventListener("mousemove",this.handleMouseMove),this.focusedCell=n,this.focusedCellWidth=r,this.isMouseDown=!0,this.lastMouseX=t.clientX,this.resizeLine.style.transform="translateX("+Math.max(0,t.clientX-this.tableHeadingX+this.props.scrollOffset)+"px)",this.resizeLine.style.opacity=1)}},{key:"handleWidthChange",value:function(e,t){this.props.onWidthsChange((0,i.default)({},e,t))}},{key:"getHeadingElements",value:function(){var e=this,t=this.props,n=t.defaultWidth,r=t.defaultPropWidths,a=t.properties,o=t.propWidths,s=t.sortProp;a.length;return a.map(function(t){var a=t,u=null,l=o[a]||r[a]||n;e.isMouseDown||(u=T.default.createElement("span",{className:"table__heading__handle",onMouseDown:function(t){e.handleCellMouseDown(t,a,l)}}));var c=a===s.property,d=(0,y.default)("table__cell table__heading",(0,i.default)({"table__heading--is-sorted":c},"table__heading--direction--"+s.direction,c)),f=T.default.createElement(E.FormattedMessage,{id:b.default[a].id,defaultMessage:b.default[a].defaultMessage});return T.default.createElement("div",{className:d,key:a,onClick:function(t){return e.handleCellClick(a,t)},style:{width:l+"px"}},T.default.createElement("span",{className:"table__heading__label",title:e.props.intl.formatMessage({id:b.default[a].id,defaultMessage:b.default[a].defaultMessage})},f),u)})}},{key:"render",value:function(){var e=this,t=null;return T.default.createElement("div",{className:"table__row table__row--heading",ref:function(t){return e.tableHeading=t}},this.getHeadingElements(),T.default.createElement("div",{className:"table__cell table__heading table__heading--fill"}),T.default.createElement("div",{className:"table__heading__resize-line",ref:function(t){return e.resizeLine=t},style:t}))}}]),n}(T.default.Component);t.default=(0,E.injectIntl)(D)}).call(t,function(){return this}())},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(641),i=r(a),o=n(299),s=r(o),u=n(325),l=r(u),c=n(326),d=r(c),f=n(330),h=r(f),p=n(377),_=r(p),m=n(644),v=(r(m),n(385),n(404)),g=r(v),y=n(998),E=r(y),M=n(938),T=r(M),S=n(999),b=r(S),L=n(939),k=r(L),w=n(940),C=(r(w),n(688)),D=(r(C),n(1e3)),R=r(D),x=n(1001),N=r(x),O=n(942),A=r(O),Y=n(943),P=(r(Y),n(944)),I=r(P),F=n(1002),H=r(F),j=n(933),U=(r(j),n(948)),W=n(947),V=n(1003),z=r(V),G=n(950),B=r(G),q={clock:g.default.createElement(T.default,null),disk:g.default.createElement(b.default,null),downloadThick:g.default.createElement(k.default,null),information:g.default.createElement(R.default,null),calendar:g.default.createElement(E.default,null),peers:g.default.createElement(N.default,null),ratio:g.default.createElement(I.default,null),seeds:g.default.createElement(H.default,null),uploadThick:g.default.createElement(B.default,null)},J=["handleClick","handleDoubleClick","handleRightClick"],Q=["bytesDone","downloadRate","status","tags","totalPeers","totalSeeds","uploadRate"],K=["status","tags"],Z=function(e){function t(e){(0,l.default)(this,t);var n=(0,h.default)(this,(t.__proto__||(0,s.default)(t)).call(this));return n.state={isSelected:e.selected},J.forEach(function(e){n[e]=n[e].bind(n)}),n}return(0,_.default)(t,e),(0,d.default)(t,[{key:"componentWillUpdate",value:function(e){e.selected!==this.props.selected&&this.setState({isSelected:e.selected})}},{key:"shouldComponentUpdate",value:function(e,t){var n=this;if(e.selected!==this.props.selected||t.isSelected!==this.state.isSelected||e.isCondensed!==this.props.isCondensed)return!0;var r=e.torrent,a=this.props.torrent,o=K.some(function(e){var t=r[e],a=n.props.torrent[e];return t.length!==a.length||t.some(function(e,t){return e!==a[t]})});return o||(o=Q.some(function(e){return r[e]!==a[e]})),o?o:(0,i.default)(e.propWidths).some(function(t){return e.propWidths[t]!==n.props.propWidths[t]})}},{key:"getTags",value:function(e){return e.map(function(e,t){return g.default.createElement("li",{className:"torrent__tag",key:t},e)})}},{key:"getWidth",value:function(e){var t=this.props,n=t.defaultWidth,r=t.defaultPropWidths,a=t.propWidths;return a[e]||r[e]||n}},{key:"handleClick",value:function(e){this.setState({isSelected:!0}),this.props.handleClick(this.props.torrent.hash,e)}},{key:"handleDoubleClick",value:function(e){this.props.handleDoubleClick(this.props.torrent,e)}},{key:"handleRightClick",value:function(e){this.state.isSelected||this.handleClick(e),this.props.handleRightClick(this.props.torrent,e)}},{key:"render",value:function(){var e=this.state.isSelected,t=this.props,n=t.isCondensed,r=t.torrent,a=(0,W.torrentStatusClasses)(r,{"torrent--is-selected":e,"torrent--is-condensed":n,"torrent--is-expanded":!n},"torrent");return n?g.default.createElement("li",{className:a,onClick:this.handleClick,onDoubleClick:this.handleDoubleClick,onContextMenu:this.handleRightClick},g.default.createElement(z.default,{className:"table__cell",slug:"name",value:r.name,width:this.getWidth("name")}),g.default.createElement(z.default,{className:"table__cell",slug:"progress-bar",value:g.default.createElement(A.default,{percent:r.percentComplete,icon:(0,U.torrentStatusIcons)(r.status)}),width:this.getWidth("percentComplete")}),g.default.createElement(z.default,{className:"table__cell",slug:"downloadTotal",value:r.bytesDone,width:this.getWidth("downloadTotal")}),g.default.createElement(z.default,{className:"table__cell",slug:"downloadRate",value:r.downloadRate,width:this.getWidth("downloadRate")}),g.default.createElement(z.default,{className:"table__cell",slug:"uploadTotal",value:r.uploadTotal,width:this.getWidth("uploadTotal")}),g.default.createElement(z.default,{className:"table__cell",slug:"uploadRate",value:r.uploadRate,width:this.getWidth("uploadRate")}),g.default.createElement(z.default,{className:"table__cell",slug:"eta",value:r.eta,width:this.getWidth("eta")}),g.default.createElement(z.default,{className:"table__cell",slug:"ratio",value:r.ratio,width:this.getWidth("ratio")}),g.default.createElement(z.default,{className:"table__cell",slug:"sizeBytes",value:r.sizeBytes,width:this.getWidth("sizeBytes")}),g.default.createElement(z.default,{className:"table__cell",slug:"peers",secondaryValue:r.connectedPeers,value:r.totalPeers,width:this.getWidth("peers")}),g.default.createElement(z.default,{className:"table__cell",slug:"seeds",secondaryValue:r.connectedSeeds,value:r.totalSeeds,width:this.getWidth("seeds")}),g.default.createElement(z.default,{className:"table__cell",slug:"added",value:r.added,width:this.getWidth("added")})):g.default.createElement("li",{className:a,onClick:this.handleClick,onContextMenu:this.handleRightClick},g.default.createElement("div",{className:"torrent__details__section__wrapper"},g.default.createElement(z.default,{className:"torrent__details__section torrent__details__section--primary",slug:"name",value:r.name}),g.default.createElement("div",{className:"torrent__details__section torrent__details__section--secondary"},g.default.createElement(z.default,{icon:!0,slug:"eta",value:r.eta}),g.default.createElement(z.default,{icon:!0,slug:"downloadRate",value:r.downloadRate}),g.default.createElement(z.default,{icon:!0,slug:"uploadRate",value:r.uploadRate}))),g.default.createElement("div",{className:"torrent__details__section torrent__details__section--tertiary"},g.default.createElement(z.default,{icon:!0,slug:"completed",secondaryValue:r.bytesDone,value:r.percentComplete}),g.default.createElement(z.default,{icon:!0,slug:"uploadTotal",value:r.uploadTotal}),g.default.createElement(z.default,{icon:!0,slug:"ratio",value:r.ratio}),g.default.createElement(z.default,{icon:!0,slug:"sizeBytes",value:r.sizeBytes}),g.default.createElement(z.default,{icon:!0,slug:"ratio",value:r.ratio}),g.default.createElement(z.default,{icon:!0,slug:"peers",secondaryValue:r.connectedPeers,value:r.totalPeers}),g.default.createElement(z.default,{icon:!0,slug:"seeds",secondaryValue:r.connectedSeeds,value:r.totalSeeds}),g.default.createElement(z.default,{icon:!0,slug:"added",value:r.added}),g.default.createElement(z.default,{icon:!0,slug:"tags",value:r.tags})),g.default.createElement("div",{className:"torrent__details__section torrent__details__section--quaternary"},g.default.createElement(A.default,{percent:r.percentComplete,icon:(0,U.torrentStatusIcons)(r.status)})),g.default.createElement("button",{className:"torrent__more-info floating-action__button",onClick:this.props.handleDetailsClick.bind(this,r),tabIndex:"-1"},q.information))}}]),t}(g.default.Component);Z.defaultProps={isCondensed:!1},t.default=Z},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--calendar "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M51.9,9.39h-4V6.3a5.08,5.08,0,0,0-5-5.15h-2A5.08,5.08,0,0,0,36,6.3V9.39H24V6.3a5.08,5.08,0,0,0-5-5.15h-2a5.08,5.08,0,0,0-5,5.15V9.39h-4a4.08,4.08,0,0,0-4,4.12V54.74a4.08,4.08,0,0,0,4,4.12H51.9a4.08,4.08,0,0,0,4-4.12V13.51A4.08,4.08,0,0,0,51.9,9.39ZM40,6.3a1,1,0,0,1,1-1h2a1,1,0,0,1,1,1v9.28a1,1,0,0,1-1,1h-2a1,1,0,0,1-1-1V6.3Zm-23.89,0a1,1,0,0,1,1-1h2a1,1,0,0,1,1,1v9.28a1,1,0,0,1-1,1h-2a1,1,0,0,1-1-1V6.3ZM49.8,52.84H10.2V22.42H49.8V52.84Z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--disk "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("polygon",{points:"51.8,0 51.8,0 51.8,3.7 51.8,56.3 8.2,56.3 8.2,3.7 8.2,0 8.2,0 4.5,0 4.5,60.1 55.5,60.1 55.5,0 \t"}),_.default.createElement("rect",{x:"18.4",y:"8.9",width:"23.1",height:"3.8"}),_.default.createElement("path",{d:"M30,51.8c3.4,0,6.8-1.1,9.6-3.3L29.4,38.4l3.1-3.1l10.2,10.1c4.3-6.1,3.8-14.5-1.7-20c-3-3-7-4.5-11-4.5 s-7.9,1.5-11,4.5C13,31.4,13,41.2,19,47.3C22.1,50.3,26,51.8,30,51.8z"}),_.default.createElement("rect",{x:"40",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"45.9",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"34.1",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"16.5",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"10.6",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"22.4",y:"0",width:"3.5",height:"3.8"}),_.default.createElement("rect",{x:"28.2",y:"0",width:"3.5",height:"3.8"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--information "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{className:"icon--information__gylph",d:"M27.14,28.26h5.72V43.95H27.14V28.26ZM30,24.44a4,4,0,1,0-4-4A4,4,0,0,0,30,24.44Z"}),_.default.createElement("circle",{className:"icon--information__fill",cx:"30",cy:"30",r:"29.64"}),_.default.createElement("path",{className:"icon--information__ring",d:"M30,0.36A29.64,29.64,0,1,0,59.64,30,29.64,29.64,0,0,0,30,.36Zm0,55.79A26.15,26.15,0,1,1,56.15,30,26.15,26.15,0,0,1,30,56.15Z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--peers "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M47.95,1.4a12.05,12.05,0,0,0-11.78,9.55H23.84A12,12,0,1,0,12.05,25.5a11.92,11.92,0,0,0,3.56-.6l6,13a12.51,12.51,0,1,0,4.28-2.66L20,22.45a12,12,0,0,0,3.85-6.5H36.16A12,12,0,1,0,47.95,1.4ZM37.05,46.55A7.05,7.05,0,1,1,30,39.5,7.06,7.06,0,0,1,37.05,46.55ZM5,13.45a7.05,7.05,0,1,1,7.05,7.05A7.06,7.06,0,0,1,5,13.45ZM47.95,20.5A7.05,7.05,0,1,1,55,13.45,7.06,7.06,0,0,1,47.95,20.5Z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(404),_=r(p),m=n(690),v=r(m),g=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){return _.default.createElement("svg",{className:"icon icon--seeds "+this.props.className,viewBox:this.getViewBox()},_.default.createElement("path",{d:"M47.95,1.4a12.05,12.05,0,0,0-11.78,9.55H23.84A12,12,0,1,0,12.05,25.5a11.92,11.92,0,0,0,3.56-.6l6,13a12.51,12.51,0,1,0,4.28-2.66L20,22.45a12,12,0,0,0,3.85-6.5H36.16A12,12,0,1,0,47.95,1.4ZM37.05,46.55A7.05,7.05,0,1,1,30,39.5,7.06,7.06,0,0,1,37.05,46.55Z"}))}}]),t}(v.default);t.default=g},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var a=n(299),i=r(a),o=n(325),s=r(o),u=n(326),l=r(u),c=n(330),d=r(c),f=n(377),h=r(f),p=n(385),_=n(404),m=r(_),v=n(998),g=r(v),y=n(938),E=r(y),M=n(999),T=r(M),S=n(939),b=r(S),L=n(940),k=r(L),w=n(1001),C=r(w),D=n(943),R=r(D),x=n(944),N=r(x),O=n(1002),A=r(O),Y=n(933),P=r(Y),I=n(950),F=r(I),H=function(e,t){return m.default.createElement(p.FormattedMessage,{id:"torrent.list.peers",defaultMessage:"{connected} {of} {total}",values:{connected:m.default.createElement(p.FormattedNumber,{value:e}),of:m.default.createElement("em",{className:"unit"},m.default.createElement(p.FormattedMessage,{id:"torrent.list.peers.of",defaultMessage:"of"})),total:m.default.createElement(p.FormattedNumber,{value:t})}})},j=function(e){return m.default.createElement(P.default,{value:e,isSpeed:!0})},U=function(e){return m.default.createElement(P.default,{value:e})},W={completed:m.default.createElement(b.default,null),eta:m.default.createElement(E.default,null),sizeBytes:m.default.createElement(T.default,null),downloadRate:m.default.createElement(b.default,null),added:m.default.createElement(g.default,null),peers:m.default.createElement(C.default,null),ratio:m.default.createElement(N.default,null),seeds:m.default.createElement(A.default,null),uploadRate:m.default.createElement(F.default,null),uploadTotal:m.default.createElement(F.default,null)},V={added:function(e){return m.default.createElement(p.FormattedDate,{value:1e3*e})},completed:function(e,t){return m.default.createElement("span",null,m.default.createElement(p.FormattedNumber,{value:e}),m.default.createElement("em",{className:"unit"},"%")," — ",m.default.createElement(P.default,{value:t}))},downloadRate:j,downloadTotal:U,seeds:H,peers:H,tags:function(e){return m.default.createElement("ul",{className:"torrent__tags tag"},e.map(function(e,t){return m.default.createElement("li",{className:"torrent__tag",key:t},e)}))},ratio:function(e){return m.default.createElement(R.default,{value:e})},sizeBytes:U,uploadRate:j,uploadTotal:U,eta:function(e){return e?m.default.createElement(k.default,{value:e}):null}},z=function(e){function t(){return(0,s.default)(this,t),(0,d.default)(this,(t.__proto__||(0,i.default)(t)).apply(this,arguments))}return(0,h.default)(t,e),(0,l.default)(t,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.icon,r=e.secondaryValue,a=e.slug,i=e.value,o=e.width;return a in V&&(i=V[a](i,r)),n&&(n=W[a]),m.default.createElement("div",{className:"torrent__detail torrent__detail--"+a+" "+t,style:{width:o+"px"}},n,i)}}]),t}(m.default.PureComponent);z.defaultProps={className:""},t.default=z}]);
\ No newline at end of file