PageSourceSearch

https://icecat.biz/_next/static/chunks/pages/[lang]/brand-statistics/[name]-0150874fea07385f.js

js icecat.biz collected 2026-10-02 02:43:20 UTC 17,135 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1314],{2207:(e,t,s)=>{"use strict";s.d(t,{C:()=>l});var a=s(91160);let l=()=>{let{brands:e}=(0,a.R)();return e.at(0)}},7051:(e,t,s)=>{"use strict";s.d(t,{b:()=>i});var a=s(37876),l=s(3634),r=s(7081);let n=e=>e.date,d=["#22409a"],i=e=>{let{period:t,options:s,...i}=e;if(0!==s.length){let e=s.slice(-t),c=i.optionFormatted||i.optionToY,o={fromValue:c(e.at(0)),toValue:c(e.at(-1))};return(0,a.jsx)(l.b,{options:[{id:"default",data:e}],legendColors:d,tooltip:i.tooltip,optionToY:i.optionToY,enableArea:!0,optionToX:n,axisLeft:i.axisLeft,axisBottom:(0,a.jsx)(r.X,{period:t,...o})})}return null}},12746:(e,t,s)=>{"use strict";s.d(t,{A:()=>i});var a=s(6789),l=s(5068),r=s(35161);let n=a.S?r.Dn:r.x8,d=l.A.create({baseURL:"".concat(n,"/restful/v3")});l.A.create({baseURL:"".concat(r.Dn,"/private/v1")});let i=d},16454:e=>{e.exports={tabs:"styles_tabs__FaAqS",tab:"styles_tab__ie_xw",active:"styles_active__LSGTb",tabPanel:"styles_tabPanel__pRshS"}},17984:(e,t,s)=>{"use strict";s.d(t,{n:()=>l});var a=s(12746);let l=async e=>a.A.get("/ProductCustomData",{params:{ProductIds:e,Columns:["mpn","title"]}}).then(e=>r(e.data.Data.Products)),r=e=>e.map(e=>{let{ProductId:t,Mpn:s,Title:a}=e;return{productId:t,mpn:s,title:a}})},32855:(e,t,s)=>{"use strict";s.d(t,{D:()=>i});var a=s(37876),l=s(32709),r=s(68573),n=s(98173),d=s(96024);let i=e=>{let t=e.downloads.find(t=>t.date===e.date),s=e.users.find(t=>t.date===e.date);return(0,a.jsxs)(n.mO,{children:[(0,a.jsx)(n.Hl,{date:e.date}),(0,a.jsxs)("ul",{className:"list-inside list-disc",children:[(0,a.jsxs)("li",{className:"my-1",children:[(0,a.jsxs)("span",{children:[(0,a.jsx)(r.A,{name:"lang_unique_users"}),":"]}),(0,a.jsx)("span",{className:"mx-1 font-bold",children:(0,d.u)(s.value)})]}),(0,a.jsxs)("li",{className:"my-1",children:[(0,a.jsxs)("span",{children:[(0,a.jsx)(r.A,{name:"lang_downloads"}),":"]}),(0,a.jsx)("span",{className:"mx-1 font-bold",children:(0,d.u)(t?(0,l.l)(t):0)})]})]})]})}},37116:(e,t,s)=>{"use strict";s.d(t,{o:()=>r});var a=s(37876),l=s(98173);let r=e=>{let{date:t,downloads:s,ranking:r}=e,n=r.find(e=>e.date===t),d=s.find(e=>e.date===t);return(0,a.jsxs)(l.mO,{children:[(0,a.jsx)(l.Hl,{date:t}),(0,a.jsx)(l.XA,{rank:n?n.value:null}),(0,a.jsx)(l.gf,{downloads:d})]})}},37885:(e,t,s)=>{"use strict";s.d(t,{F:()=>u});var a=s(37876),l=s(56801),r=s.n(l),n=s(90557),d=s(69241);let i={color:"#fff",progress:0,size:140,borderSize:10,isShowPercent:!1},c=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return{width:e,height:e/2}},o=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i,{size:t,className:s}=e;return(0,a.jsx)("div",{className:(0,d.A)(r().semiCircle,s),style:c(t),children:(0,a.jsx)("div",{className:r().barOverflow,style:c(t),children:(0,a.jsx)("div",{className:r().bar,style:(e=>{let{color:t,progress:s=0,size:a,borderSize:l}=e;return{"--angle":(45+s/100*180).toFixed(0)+"deg","--size":a+"px","--color":t,"--borderSize":l+"px","--borderColor":"#e7e8ec"}})(e)})})})},x=e=>{let{colors:t,intervals:s,progress:l,className:r}=e;return(0,n.xF)(t,s,e=>(0,a.jsx)(o,{className:r,progress:l,color:e(l),size:80,borderSize:16}))};var m=s(58102);let p=["red","#f6b931","#00b392","#3875d7"],j=[0,26,51,76],u=e=>{let{score:t=50,title:s,href:l="https://iceclog.com/completeness-score/"}=e;return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("a",{rel:"nofollow noreferrer",href:l,className:"font-bold text-primary md:text-2xl",children:[t,"%"]}),(0,a.jsx)(m.p,{title:s,children:(0,a.jsx)(x,{intervals:j,colors:p,progress:t,className:"hidden sm:block"})})]})}},45626:(e,t,s)=>{"use strict";s.d(t,{wb:()=>p,Kp:()=>j,O_:()=>m});var a=s(37876),l=s(14232),r=s(16454),n=s.n(r),d=s(15039),i=s.n(d);let{Provider:c,Consumer:o}=l.createContext({active:void 0,setActive:()=>null});var x=s(69241);let m=e=>{let[t,s]=(0,l.useState)(e.initialActive);return(0,a.jsx)(c,{value:{active:t,setActive:t=>{var a;s(t),null==(a=e.onTabChange)||a.call(e,t)}},children:e.children})},p=(0,l.forwardRef)((e,t)=>(0,a.jsx)("ul",{...e,ref:t,className:(0,x.A)(n().tabs,e.className),children:e.children}));p.Tab=e=>{let{id:t}=e;return(0,a.jsx)(o,{children:s=>{let{active:l,setActive:r}=s;return(0,a.jsx)("li",{onClick:()=>r(t),className:i()(n().tab,e.className,{[n().active]:l===t}),children:e.children})}})};let j=e=>(0,a.jsx)(o,{children:t=>{let{active:s}=t,l=s===e.id;return l||e.forceRenderTabPanel?(0,a.jsx)("div",{className:(0,x.A)(n().tabPanel,e.className,{[n().active]:l}),children:e.children}):null}})},53364:(e,t,s)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/[lang]/brand-statistics/[name]",function(){return s(64215)}])},56801:e=>{e.exports={root:"styles_root__gQJag",line:"styles_line__9LtHp",text:"styles_text__kQ2Mo",textComplete:"styles_textComplete__Hc4Jn",semiCircle:"styles_semiCircle__ILmI9",barOverflow:"styles_barOverflow__EjxWW",bar:"styles_bar__aOume",progressInit:"styles_progressInit__MUMXE"}},64215:(e,t,s)=>{"use strict";s.r(t),s.d(t,{__N_SSP:()=>ek,default:()=>eC});var a=s(37876),l=s(14232),r=s(77328),n=s.n(r),d=s(71616),i=s(2207);let c=()=>{let e=(0,d.W)(),t=(0,i.C)();if(null==t?void 0:t.name)return(0,a.jsxs)(n(),{children:[(0,a.jsx)("meta",{name:"description",content:e("lang_brand_statistics_meta_description",{__brandName__:t.name})},"description"),(0,a.jsx)("title",{children:e("lang_brand_statistics_page_title",{__brandName__:t.name})})]})};var o=s(41003);let x=()=>{let e=(0,i.C)(),t=(0,d.W)();return(0,a.jsx)(o.A,{items:[{label:t("txt_brands"),url:"/brands"},{label:null==e?void 0:e.name}]})},m=e=>{let{query:t}=e,s=(0,d.W)();return(0,a.jsx)("div",{className:"*:text-primary",dangerouslySetInnerHTML:{__html:s("brand_page_error_message",{__param__:t})}})};var p=s(79628),j=s(88246),u=s(22407),_=s(19149),h=s(6613);let b=()=>{let e,t,s=(0,i.C)(),{period:l}=(0,_.n)(),r=(0,u.o)();return(0,a.jsx)(j.$,{href:(e=s.id,t=null==r?void 0:r.id,"/api/v1/brand-statistics/BrandStatisticsExport/".concat(e,"?languageId=").concat(t,"&").concat((0,h.f)(l)))})};var v=s(67382),g=s(75142);let f=()=>{let e=(0,v.h)(),t=(0,d.W)();return(0,a.jsxs)("div",{className:"text-end",children:[(0,a.jsxs)("button",{className:"font-bold text-primary",onClick:e.open,"aria-label":t("brands_compare_link"),
1children:[t("brands_compare_link")," ",(0,a.jsx)("span",{className:"text-xl",children:" →"})]}),(0,a.jsx)(g.O,{onClose:e.close,isOpen:e.isOpen})]})};var N=s(68573),y=s(52860);let w=()=>{let e=(0,i.C)();return(0,y.d)(e.id).data};var A=s(58102);let k=()=>{let e=w(),t=(0,d.W)();return(0,a.jsxs)("div",{className:"flex items-center text-nowrap font-bold md:block md:text-xl",children:[(0,a.jsx)(N.A,{name:"icecat_rank"}),(0,a.jsx)("div",{className:"m-2 md:m-0 md:text-2xl",children:(0,a.jsx)(A.p,{title:t("lang_icecat_rank_tooltip"),children:(0,a.jsx)("div",{className:"text-primary",children:null==e?void 0:e.rank})})})]})};var C=s(37885),I=s(43408);let T=(0,l.memo)(()=>{let e=(0,d.W)(),t=(0,i.C)(),s=(0,I.L)(t.id);return(0,a.jsxs)("div",{className:"flex items-center gap-2 md:block",children:[(0,a.jsx)("div",{className:"font-bold md:text-xl",children:e("lang_data_completeness")}),(0,a.jsx)(C.F,{score:s.data,title:e("lang_data_completeness_title")})]})});var L=s(31008),P=s(92308);let S=()=>{let e=(0,i.C)(),{data:{score:t,count:s}}=(0,L.T)(e.name),l=(0,d.W)(),r=Math.round(t);return r?(0,a.jsxs)("div",{className:"m-auto text-center sm:m-0",children:[(0,a.jsxs)(A.p,{title:l("testSeekTitle"),children:[(0,a.jsxs)("div",{className:"font-bold md:text-xl",children:[r,"%"]}),(0,a.jsx)("div",{className:"text-2xl",children:(0,a.jsx)(P.A,{percentage:t,starsMax:5})})]}),(0,a.jsx)("a",{className:"mt-2 inline-block text-center font-bold text-primary",target:"_blank",href:"https://iceclog.com/brand-average-score-shows-total-number-of-reviews-contributed-to-it/",rel:"nofollow noreferrer",children:s>9?l("testSeekHref",{__count__:s}):l("test_seek_small_number")})]}):(0,a.jsx)("div",{})};var O=s(16490),D=s(47387),F=s(75656),W=s(62460);let B=e=>(0,F.Ay)(W.V.buildUrl(e),()=>(0,W.V)(e),{fallbackData:[]});var M=s(48953),R=s(37116),E=s(32855),U=s(7051),H=s(32709);let q=()=>{let{type:e}=(0,_.n)();return e===M.a.Downloads?(0,a.jsx)(z,{}):e===M.a.Users?(0,a.jsx)(Y,{}):e===M.a.Ranks?(0,a.jsx)(X,{}):null},z=()=>{let e=(0,i.C)(),{period:t}=(0,_.n)(),{data:s}=(0,O.x)(e.id),{data:l}=B(e.id);return(0,a.jsx)(U.b,{options:s,period:t,optionToY:H.l,axisLeft:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N.A,{name:"lang_downloads"})," #"]}),tooltip:e=>{let{point:t}=e;return(0,a.jsx)(R.o,{date:t.data.x,downloads:s,ranking:l})}})},Y=()=>{let e=(0,i.C)(),{period:t}=(0,_.n)(),s=(0,D.k)(e.id),l=(0,O.x)(e.id);return(0,a.jsx)(U.b,{period:t,optionToY:e=>e.value,options:s.data,axisLeft:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N.A,{name:"lang_unique_users"})," #"]}),tooltip:e=>{let{point:t}=e;return(0,a.jsx)(E.D,{date:t.data.x,users:s.data,downloads:l.data})}})},X=()=>{let e=(0,i.C)(),{period:t}=(0,_.n)(),{data:s}=B(e.id),{data:l}=(0,O.x)(e.id);return(0,a.jsx)(U.b,{period:t,optionFormatted:e=>"#".concat(e.value),optionToY:e=>1/e.value,options:s,axisLeft:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(N.A,{name:"lang_rank"})," #"]}),tooltip:e=>{let{point:t}=e;return(0,a.jsx)(R.o,{date:t.data.x,downloads:l,ranking:s})}})};var V=s(95990),G=s(96024);let K=()=>{let e=(0,d.W)(),t=w();return(0,a.jsx)("table",{children:(0,a.jsxs)("tbody",{children:[(0,a.jsxs)("tr",{className:"*:px-2 *:py-1",children:[(0,a.jsx)("td",{children:e("total_products")}),(0,a.jsx)("td",{className:"font-bold",children:(0,G.u)(t.totalProducts)}),(0,a.jsx)("td",{children:(0,a.jsx)(A.p,{title:e("lang_total_products_tooltip")})})]}),(0,a.jsxs)("tr",{className:"*:px-2 *:py-1",children:[(0,a.jsx)("td",{children:e("active_products")}),(0,a.jsx)("td",{className:"font-bold",children:(0,G.u)(t.activeProducts)}),(0,a.jsx)("td",{children:(0,a.jsx)(A.p,{title:e("lang_total_active_products_tooltip")})})]}),(0,a.jsxs)("tr",{className:"*:px-2 *:py-1",children:[(0,a.jsx)("td",{children:e("total_categories")}),(0,a.jsx)("td",{className:"font-bold",children:(0,G.u)(t.totalCategories)}),(0,a.jsx)("td",{children:(0,a.jsx)(A.p,{title:e("lang_total_categories_tooltip")})})]})]})})};var Q=s(45626),$=s(61016),J=s(99821),Z=s(79222),ee=s(17984);let et=async e=>{let t=await J.A.get(e,{cache:!1});return await es(t.data.Data.TopProducts)},es=async e=>{let t=e.map(e=>{let{ProductId:t,Count:s}=e;return{productId:t,downloads:s}}),s=await (0,ee.n)(t.map(e=>e.productId));return t.map(e=>({...e,...s.find(t=>t.productId===e.productId)}))};var ea=s(40587),el=s(93710),er=s(58350),en=s(59783),ed=s(84295);let ei=e=>{let t=(0,i.C)(),{data:s,setSize:l,isLoading:r,size:n}=(0,$.Ay)(t=>{let s;return s=e.brandId,"".concat(Z.D,"/brand-top-products?SupplierId=").concat(s,"&Period=month&page=").concat(t+1)},et,{revalidateFirstPage:!1,fallbackData:[]});return(0,a.jsxs)("div",{className:"text-sm md:text-base",children:[(0,a.jsx)("div",{className:"px-2 text-end",children:(0,a.jsx)(N.A,{name:"lang_views_downloads"})}),s.map(e=>e.map(e=>(0,a.jsxs)("div",{className:"flex h-[90px] items-center justify-between gap-4 border-t p-2",children:[(0,a.jsx)("div",{className:"w-[75px] shrink-0 text-center",children:t.isSponsor?(0,a.jsx)(el.A,{productId:e.productId,quality:ed.hv.THUMB}):(0,a.jsx)("img",{alt:"full image",src:en.Y})}),(0,a.jsxs)("div",{className:"grow",children:[(0,a.jsx)(er.A,{href:"/p/vendorName/mpn/desc-".concat(e.productId,".html"),className:"font-bold text-primary",children:e.title}),(0,a.jsx)("div",{children:e.mpn})]}),(0,a.jsx)("div",{className:"text-end font-bold",children:(0,G.u)(e.downloads)})]},e.productId))),(0,a.jsx)("div",{className:"my-2 text-center text-sm",children:(0,a.jsx)(ea.$,{disabled:r,type:"button",onClick:()=>l(n+1),children:(0,a.jsx)(N.A,{name:"top_products_next_button"})})})]})};var ec=s(93862);let eo=async e=>(0,J.A)("/api/v1/brand-statistics/brandTopCategories",{params:{period:"month",brandId:e}}).then(async e=>{let t=e.data.Data.TopCategories.map(e=>{let{CategoryId:t,Downloads:s}=e;return{categoryId:t,downloads:s}}),s=await (0,ec.b)(t.map(e=>e.categoryId));return t.map(e=>{let t=s.find(t=>
1t.id==e.categoryId);return{...e,categoryName:(null==t?void 0:t.name)||"Unknown",categoryUrl:(null==t?void 0:t.urlName)||""}})}),ex=e=>{let[t,s]=(0,l.useState)(1),{data:r,isLoading:n}=(0,F.Ay)("brand-top-categories-".concat(e.brandId),()=>eo(e.brandId),{fallbackData:[]}),d=r.slice(0,10*t);return(0,a.jsxs)("div",{className:"text-sm md:text-base",children:[(0,a.jsx)("div",{className:"px-2 text-end",children:(0,a.jsx)(N.A,{name:"lang_views_downloads"})}),d.map(e=>(0,a.jsxs)("div",{className:"flex h-[90px] items-center justify-between gap-4 border-t p-2",children:[(0,a.jsx)("div",{className:"grow",children:(0,a.jsx)("a",{target:"_blank",href:"/category-statistics/".concat(e.categoryUrl),className:"font-bold text-primary",rel:"noreferrer",children:e.categoryName})}),(0,a.jsx)("div",{className:"text-end font-bold",children:(0,G.u)(e.downloads)})]},e.categoryId)),(0,a.jsx)("div",{className:"my-2 text-center text-sm",children:d.length<r.length&&(0,a.jsx)(ea.$,{disabled:n,onClick:()=>s(e=>e+1),children:(0,a.jsx)(N.A,{name:"top_products_next_button"})})})]})},em=e=>{let t=(0,i.C)();return(0,a.jsxs)(Q.O_,{initialActive:0,children:[(0,a.jsxs)(Q.wb,{className:e.className,children:[(0,a.jsx)(Q.wb.Tab,{id:0,children:(0,a.jsx)(N.A,{name:"top_products_tab"})}),(0,a.jsx)(Q.wb.Tab,{id:1,children:(0,a.jsx)(N.A,{name:"top_categories_tab"})})]}),(0,a.jsx)(Q.Kp,{id:0,className:"min-h-[300px]",forceRenderTabPanel:!0,children:(0,a.jsx)(ei,{brandId:t.id})}),(0,a.jsx)(Q.Kp,{id:1,forceRenderTabPanel:!0,children:(0,a.jsx)(ex,{brandId:t.id})})]})};var ep=s(40625),ej=s(18847),eu=s.n(ej),e_=s(77825),eh=s(81501);let eb=()=>{let e=(0,d.W)(),t=(0,eh.V)();return(0,a.jsxs)(A.p,{title:e("lang_total_views_downloads_tooltip"),children:[(0,a.jsx)("span",{className:"mx-1 font-bold",children:(0,G.u)(t)}),e("lang_total_views_downloads")]})},ev=eu()(()=>Promise.all([s.e(7428),s.e(1243)]).then(s.bind(s,21243)).then(e=>e.BrandCountries),{loadableGenerated:{webpack:()=>[21243]}}),eg=(0,l.memo)(()=>{let e=(0,i.C)(),t=(0,d.W)();return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-6",children:[(0,a.jsx)(p.j,{brand:e}),(0,a.jsxs)("h1",{className:"grow font-bold md:text-2xl",children:[e.name,": ",t("lang_brand_position")]}),(0,a.jsx)("div",{className:"flex-col items-end gap-4 md:flex",children:(0,a.jsx)(b,{})})]}),(0,a.jsx)(f,{}),(0,a.jsxs)("div",{className:"my-5 flex flex-wrap items-center justify-between gap-2 sm:gap-6",children:[(0,a.jsx)(k,{}),(0,a.jsx)(T,{}),(0,a.jsx)(S,{})]}),(0,a.jsxs)("div",{className:"my-5",children:[(0,a.jsxs)("div",{className:"items-center justify-between md:flex",children:[(0,a.jsx)(e_.H,{}),(0,a.jsx)(eb,{})]}),(0,a.jsx)(V.A,{children:(0,a.jsx)("div",{className:"h-[300px]",children:(0,a.jsx)(q,{})})})]}),(0,a.jsx)("div",{className:"my-5 mt-10 flex",children:(0,a.jsx)(K,{})}),(0,a.jsx)(ep.pL,{className:"my-5",as:"div",children:e=>{let{inView:t,ref:s}=e;return(0,a.jsx)("div",{ref:s,children:t&&(0,a.jsx)(ev,{})})}}),(0,a.jsx)(ep.pL,{className:"my-5",as:"div",children:e=>{let{inView:t,ref:s}=e;return(0,a.jsx)("div",{ref:s,children:t&&(0,a.jsx)(em,{})})}})]})});var ef=s(7008),eN=s(35510),ey=s(91160),ew=s(98114);let eA=e=>(0,a.jsx)(eN.c,{children:(0,a.jsxs)(ey.j,{initialData:{brands:[e.brand]},children:[(0,a.jsx)(c,{}),(0,a.jsx)(x,{}),e.brand?(0,a.jsx)(ef.A,{children:(0,a.jsx)(eg,{})}):(0,a.jsx)(m,{query:e.query})]})});eA.withSearch=!0,eA.getLayout=ew.B;var ek=!0;let eC=eA},81995:e=>{e.exports={starsBordered:"styles_starsBordered__QfiLO",star:"styles_star__m2Dtj",starOutline:"styles_starOutline__qu1bg",starIcon:"styles_starIcon__G0bLN",starFill:"styles_starFill__E744R"}},92308:(e,t,s)=>{"use strict";s.d(t,{A:()=>i});var a=s(37876),l=s(81995),r=s.n(l),n=s(69241);let d="M12 2.75l2.91 5.89 6.5.95-4.7 4.58 1.11 6.48L12 17.59 6.18 20.65l1.11-6.48-4.7-4.58 6.5-.95L12 2.75z",i=e=>{let{percentage:t,className:s,starsMax:l=5,title:i}=e,c=Math.min(100,Math.max(0,t)),o=null!=i?i:"Rating ".concat(c,"%"),x=Math.round(c/100*l*2)/2;return(0,a.jsx)("span",{className:(0,n.A)(r().starsBordered,s),"aria-label":o,title:o,children:Array.from({length:l},(e,t)=>{let s=x-t;return(0,a.jsxs)("span",{className:r().star,"aria-hidden":"true",children:[(0,a.jsx)("span",{className:r().starOutline,children:(0,a.jsx)("svg",{viewBox:"0 0 24 24",className:r().starIcon,children:(0,a.jsx)("path",{d:d})})}),(0,a.jsx)("span",{className:r().starFill,style:{width:"".concat(s>=1?100:50*(s>=.5),"%")},children:(0,a.jsx)("svg",{viewBox:"0 0 24 24",className:r().starIcon,children:(0,a.jsx)("path",{d:d})})})]},t)})},r().starsBordered)}},93862:(e,t,s)=>{"use strict";s.d(t,{b:()=>l});var a=s(99821);let l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"en";return a.A.post("/rest/category",{ids:e,langCode:t}).then(e=>e.data.map(e=>({id:e.category_id,name:e.name,urlName:e.url_name})))}}},e=>{e.O(0,[4587,4796,9512,4827,2827,8127,8114,7421,8637,636,6593,8792],()=>e(e.s=53364)),_N_E=e.O()}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.