static constexpr char SKSL_MINIFIED_sksl_graphite_frag[] = "$pure half4 sk_error(){return half4(1.,0.,0.,1.);}$pure half4 sk_passthrough" "(half4 a){return a;}$pure half4 sk_solid_shader(float4 a){return half4(a);}" "$pure half4 sk_rgb_opaque(float4 a){return half4(half3(a.xyz),1.);}$pure half4" " sk_alpha_only(float4 a){return half4(0.,0.,0.,half(a.w));}$pure float3 $k(" "float3 a,half4 b,half3 c){return mix(pow(float(b.y)*a+float(b.z),float(b.x)" ".xxx)+float(c.y),float(b.w)*a+float(c.z),lessThan(a,float(c.x).xxx));}$pure" " float3 $l(float3 a,half3 b,half3 c){float3 d=pow(a,float(b.z).xxx);return pow" "(max(float(b.x)+float(b.y)*d,0.)/(float(c.x)+float(c.y)*d),float(c.z).xxx);" "}$pure float3 $m(float3 a,half3 b,half3 c){return float(c.z+1.)*mix(exp((a-" "float(c.y))*float(b.z))+float(c.x),pow(a*float(b.x),float(b.y).xxx),lessThanEqual" "(a*float(b.x),1..xxx));}$pure float3 $n(float3 a,half3 b,half3 c){a/=float(" "c.z+1.);return mix(float(b.z)*log(a-float(c.x))+float(c.y),float(b.x)*pow(a" ",float(b.y).xxx),lessThanEqual(a,1..xxx));}$pure half4 sk_color_space_transform" "(half4 a,half3x3 b,half4 c,half4 d,half4 e,half4 f){if(d.w<0.)a=unpremul(a)" ";else{half g=1.-d.w;half h=d.w*f.w;half i=d.w-h;a.w=dot(half3(a.wx,1.),half3" "(g,i,h));}float3 g=float3(a.xyz);if(c.x>0.)g=sign(g)*$k(abs(g),c,d.xyz);else" " if(c.x<-1.)g=sign(g)*$l(abs(g),c.yzw,d.xyz);else if(c.x<0.)g=sign(g)*$m(abs" "(g),c.yzw,d.xyz);g=float3x3(b)*g;if(e.x>0.)g=sign(g)*$k(abs(g),e,f.xyz);else" " if(e.x<-1.)g=sign(g)*$l(abs(g),e.yzw,f.xyz);else if(e.x<0.)g=sign(g)*$n(abs" "(g),e.yzw,f.xyz);half h=f.w;a.xyz=half3(g)*max(a.w,h);return a;}$pure half4" " sk_color_space_transform_premul(half4 a,half2 b){if(b.x<0.)a=unpremul(a);else" "{half c=b.x;half d=b.y;a.w=max(a.w,c);a.xyz=a.xyz*max(a.w,d);}return a;}$pure" " half4 sk_color_space_transform_srgb(half4 a,half3x3 b,half4 c,half4 d,half4" " e,half4 f){if(d.w<0.)a=unpremul(a);else{half g=1.-d.w;half h=d.w*f.w;half i" "=d.w-h;a.w=dot(half3(a.wx,1.),half3(g,i,h));}float3 g=float3(a.xyz);g=sign(" "g)*$k(abs(g),c,d.xyz);g=float3x3(b)*g;g=sign(g)*$k(abs(g),e,f.xyz);half h=f" ".w;a.xyz=half3(g)*max(a.w,h);return a;}$pure half4 sk_analytic_clip(float2 a" ",float4 b,float2 c,half4 d){float2 e=abs(c.x).xx;float2 f=float2(d.xy)*((b." "xy+e)-a);float2 g=float2(d.zw)*(a-(b.zw-e));float2 h=max(max(f,g),0.);half i" "=half(saturate(e.x*(1.-length(h*c.y))));half4 j=saturate(half4(half2(a-b.xy" "),half2(b.zw-a)));j=mix(j,half4(1.),d);half k=(((i*j.x)*j.y)*j.z)*j.w;k=c.x" "<0.?1.-k:k;return k.xxxx;}$pure half4 sk_analytic_and_atlas_clip(float2 a,float4" " b,float2 c,half4 d,float2 e,float4 f,float2 g,sampler2D h){half4 i=sk_analytic_clip" "(a,b,c,d);float2 j=a+e;float2 k=clamp(j,f.xy,f.zw);half l=sample(h,k*g).x;return" " i*l;}$pure float $o(int a,float b,float c,float d){switch(a){case 0:return" " clamp(b,c,d);case 1:{float e=d-c;return mod(b-c,e)+c;}case 2:{float e=d-c;" "float g=2.*e;float h=mod(b-c,g);return mix(h,g-h,step(e,h))+c;}default:return" " b;}}$pure half4 $p(float2 a,float2 b,sampler2D c){return sample(c,a*b);}$pure" " half4 $q(float2 a,float2 b,float4 c,int d,int e,int f,float2 g,sampler2D h" "){if(d==3&&f==0){float i=floor(a.x)+.5;if(ic.z)return half4(0.);}if" "(e==3&&f==0){float i=floor(a.y)+.5;if(ic.w)return half4(0.);}a.x=$o" "(d,a.x,c.x,c.z);a.y=$o(e,a.y,c.y,c.w);float4 i;if(f==0)i=float4(floor(c.xy)" "+.50001,ceil(c.zw)-.50001);else i=float4(c.xy+g.x,c.zw-g.y);float2 j=clamp(" "a,i.xy,i.zw);half4 k=$p(j,b,h);if(f==1){half2 l=half2(a-j);half2 m=abs(l);bool" " n=d==1;bool o=e==1;if(n||o){float p;float q;half4 r;half4 t;if(n){p=l.x>0." "?i.x:i.z;r=$p(float2(p,j.y),b,h);}if(o){q=l.y>0.?i.y:i.w;t=$p(float2(j.x,q)" ",b,h);}if(n&&o){half4 u=$p(float2(p,q),b,h);k=mix(mix(k,r,m.x),mix(t,u,m.x)" ",m.y);}else if(n)k=mix(k,r,m.x);else if(o)k=mix(k,t,m.y);}if(d==3)k*=max(1." "-m.x,0.);if(e==3)k*=max(1.-m.y,0.);}return k;}$pure half4 $r(float2 a,float2" " b,float4 c,int d,int e,half4x4 g,sampler2D h){float2 i=fract(a-.5);a-=1.5;" "a=floor(a)+.5;half4 j=g*half4(1.,half(i.x),half(i.x*i.x),half((i.x*i.x)*i.x" "));half4 k=g*half4(1.,half(i.y),half(i.y*i.y),half((i.y*i.y)*i.y));half4 l=" "half4(0.);for(int m=0;m<4;++m){half4 n=half4(0.);for(int o=0;o<4;++o)n+=j[o" "]*$q(a+float2(float(o),float(m)),b,c,d,e,0,.50001.xx,h);l+=k[m]*n;}l.w=saturate" "(l.w);l.xyz=clamp(l.xyz,half3(0.),l.www);return l;}$pure half4 sk_image_shader" "(float2 a,float2 b,float4 c,int d,int e,int f,sampler2D g){return $q(a,b,c," "d,e,f,.50001.xx,g);}$pure half4 sk_image_shader_clamp(float2 a,float2 b,float4" " c,sampler2D d){return $p(clamp(a,c.xy,c.zw),b,d);}$pure half4 sk_cubic_image_shader" "(float2 a,float2 b,float4 c,int d,int e,half4x4 f,sampler2D g){return $r(a," "b,c,d,e,f,g);}$pure half4 sk_hw_image_shader(float2 a,float2 b,sampler2D c)" "{return $p(a,b,c);}$pure half4 $s(half a,half b,half c,half d,half3x3 e,half3" " f){half3 g=half3(a,b,c);half4 h;h.xyz=saturate(e*g+f);h.w=d;return h;}$pure" " half4 $t(half4 a,half4 b,half4 c,half d,half4 e,half4 f,half4 g,half3x3 h," "half3 i){half j=dot(e,a);half k=dot(f,b);half l=dot(g,c);return $s(j,k,l,d," "h,i);}$pure half4 sk_yuv_image_shader(float2 a,float2 b,float2 c,float4 d,float2" " e,int f,int g,int h,int i,half4 j,half4 k,half4 l,half4 m,half3x3 n,half3 o" ",sampler2D p,sampler2D q,sampler2D r,sampler2D s){if(h!=i)a=floor(a)+.5;int" " t=f==3?0:f;int u=g==3?0:g;half4 v;half4 w;half4 x;v=$q(a,b,d,f,g,h,.50001." "xx,p);w=$q(a,c,d,t,u,i,e,q);x=$q(a,c,d,t,u,i,e,r);half y;if(m==half4(1.))y=" "1.;else{half4 z=$q(a,b,d,f,g,h,.50001.xx,s);y=dot(m,z);}return $t(v,w,x,y,j" ",k,l,n,o);}$pure half4 sk_cubic_yuv_image_shader(float2 a,float2 b,float2 c" ",float4 d,int e,int f,half4x4 g,half4 h,half4 i,half4 j,half4 k,half3x3 l,half3" " m,sampler2D n,sampler2D o,sampler2D p,sampler2D q){int r=e==3?0:e;int s=f==" "3?0:f;half4 t;half4 u;half4 v;t=$r(a,b,d,e,f,g,n);u=$r(a,c,d,r,s,g,o);v=$r(" "a,c,d,r,s,g,p);half w;if(k==half4(1.))w=1.;else{half4 x=$r(a,b,d,e,f,g,q);w" "=dot(k,x);}return $t(t,u,v,w,h,i,j,l,m);}$pure half4 sk_hw_yuv_image_shader" "(float2 a,float2 b,float2 c,half4 d,half4 e,half4 f,half4 g,half3x3 h,half3" " i,sampler2D j,sampler2D k,sampler2D l,sampler2D m){half4 n;half4 o;half4 p" ";n=$p(a,b,j);o=$p(a,c,k);p=$p(a,c,l);half r;if(g==half4(1.))r=1.;else{half4" " s=$p(a,b,m);r=dot(g,s);}return $t(n,o,p,r,d,e,f,h,i);}$pure half4 sk_hw_yuv_no_swizzle_image_shader" "(float2 a,float2 b,float2 c,half3x3 d,half4 e,sampler2D f,sampler2D g,sampler2D" " h,sampler2D i){half n=$p(a,b,f).x;half o=$p(a,c,g).x;half p=$p(a,c,h).x;half" " q=saturate($p(a,b,i).x+e.w);return $s(n,o,p,q,d,e.xyz);}$pure half4 sk_dither" "(half4 a,half b,sampler2D c){half e=sample(c,sk_FragCoord.xy*.125).x-.5;return" " half4(clamp(a.xyz+e*b,0.,a.w),a.w);}$pure float2 $u(int a,float2 b){switch" "(a){case 0:b.x=saturate(b.x);break;case 1:b.x=fract(b.x);break;case 2:{float" " c=b.x-1.;b.x=(c-2.*floor(c*.5))-1.;if(sk_Caps.mustDoOpBetweenFloorAndAbs)b" ".x=clamp(b.x,-1.,1.);b.x=abs(b.x);break;}case 3:if(b.x<0.||b.x>1.)return float2" "(0.,-1.);break;}return b;}$pure half4 $v(float4[4]a,float4 b,float2 c){if(c" ".y<0.)return half4(0.);else if(c.x<=b.x)return half4(a[0]);else if(c.x=.0001?e*inversesqrt" "(f):half2(.7071);float2x2 g=float2x2(dFdx(c),dFdy(c));half2 h=half2(g*float2" "(e));half i=.65*length(h);if(b.y>0.)return saturate((d+i)/(2.*i)).xxxx;else" " return smoothstep(-i,i,d).xxxx;}$pure half4 sdf_text_lcd_coverage_fn(float2" " a,half2 b,half4 c,float2 d,float e,sampler2D f,sampler2D g,sampler2D h,sampler2D" " i){float2x2 j=float2x2(dFdx(d),dFdy(d));half2 k=half2(j*float2(b));half3 l" "=$G(a,int(e),k,f,g,h,i);half3 m=half3(7.96875)*(l-half3(.5019608));m-=c.xyz" ";half2 n=half2(dFdx(m.y),dFdy(m.y));half o=dot(n,n);n=o>=.0001?n*inversesqrt" "(o):half2(.7071);half2 p=half2(j*float2(n));half3 q=(.65*length(p)).xxx;if(" "c.w>0.)return half4(saturate(m+q/(2.*q)),1.);else return half4(smoothstep(-" "q,q,m),1.);}$pure float $H(float2 a,float2x2 b){float2 c=a*b;return inversesqrt" "(dot(c,c));}$pure float2 $I(float2 a,float2 b,float c,float2x2 d){float2 e=" "1./(b*b+c*c);float2 g=e*a;float h=$H(g,d);float i=(.5*h)*(dot(a,g)-1.);float" " j=((b.x*c)*e.x)*h;return float2(j-i,j+i);}void $J(inout float2 a,float2x2 b" ",float2 c,float2 d,float2 e,float2 f){float2 g=f-d;if(all(greaterThan(g,0.." "xx)))if(all(greaterThan(f,0..xx))||c.x>0.&&c.y<0.){float2 h=$I(g*e,f,c.x,b)" ";h.y=f.x-c.x<=0.?1.:-h.y;a=min(a,h);}else if(c.y==0.){float h=((c.x-g.x)-g." "y)*$H(e,b);a.x=min(a.x,h);}}void $K(inout float2 a,float2x2 b,float2 c,float4" " e,float4 f,float4 g){$J(a,b,c,e.xy,-1..xx,float2(f.x,g.x));$J(a,b,c,e.zy,float2" "(1.,-1.),float2(f.y,g.y));$J(a,b,c,e.zw,1..xx,float2(f.z,g.z));$J(a,b,c,e.xw" ",float2(-1.,1.),float2(f.w,g.w));}$pure half4 analytic_rrect_coverage_fn(float4" " a,float4 b,float4 c,float4 d,float4 e,float2 f,float2 g){if(g.x>0.)return half4" "(1.);else if(g.y>1.){float2 h=min(c.xy,c.zw);float i=min(h.x,h.y)*a.w;float" " j=(g.y-1.)*a.w;float k=coverage_bias(j);return half(saturate(j*(i+k))).xxxx" ";}else{float2x2 h=float2x2(b)*(1./a.w);float2 i=float2($H(float2(1.,0.),h)," "$H(float2(0.,1.),h));float2 j=i*(f.x+min(c.xy,c.zw));float2 k=float2(min(j." "x,j.y),-1.);float l;float m;if(g.x>-.95){float2 n=i*((c.xy+c.zw)+2.*f.xx);l" "=min(min(n.x,n.y),1.);m=coverage_bias(l);}else{float2 n=(2.*f.x)*i;float2 o" "=n-j;k.y=-max(o.x,o.y);if(f.x>0.){float p=min(n.x,n.y);float2 q=mix(p.xx,n," "greaterThanEqual(o,-.5.xx));l=saturate(max(q.x,q.y));m=coverage_bias(l);}else" " l=(m=1.);}$K(k,h,f,c,d,e);float n=min(g.y,0.)*a.w;float o=l*(min(k.x+n,-k." "y)+m);return half(saturate(o)).xxxx;}}$pure half4 per_edge_aa_quad_coverage_fn" "(float4 a,float4 b){float2 d=min(b.xy,b.zw);float e=min(d.x,d.y)*a.w;return" " half(saturate(e)).xxxx;}$pure half4 circular_arc_coverage_fn(float4 a,float3" " b,float3 c,float3 e,float f,float4 g){float h=length(a.xy);half i=half(a.z" "*(1.-h));half j=saturate(i);half k=half(a.z*(h-a.w));half l=saturate(k);j*=" "l;half m=half(saturate(a.z*dot(a.xy,b.xy)+b.z));m*=half(saturate(a.z*dot(a." "xy,c.xy)+c.z));m=m+half(saturate(a.z*dot(a.xy,e.xy)+e.z));half n=half(a.z*(" "f-length(a.xy-g.xy)));half o=half(a.z*(f-length(a.xy-g.zw)));half p=max(n,0." ")+max(o,0.);m=saturate(m+p);return(m*j).xxxx;}$pure half4 $L(float2 a,float4" " b,half c,half d,sampler2D e){half f;half g;if(c!=0.){half2 h=max(half2(b.xy" "-a),half2(a-b.zw));f=sample(e,float2(float(d*h.x),.5)).x;g=sample(e,float2(" "float(d*h.y),.5)).x;}else{half4 h=half4(half2(b.xy-a),half2(a-b.zw));f=(1.-" "sample(e,float2(float(d*h.x),.5)).x)-sample(e,float2(float(d*h.z),.5)).x;g=" "(1.-sample(e,float2(float(d*h.y),.5)).x)-sample(e,float2(float(d*h.w),.5))." "x;}return(f*g).xxxx;}$pure half4 $M(float2 a,float4 b,sampler2D c){float d=" "b.z;float e=b.w;half2 f=half2((a-b.xy)*d);float g=float(length(f))-e;return" " sample(c,float2(g,.5)).xxxx;}$pure half4 $N(float2 a,float4 b,half c,sampler2D" " d){float2 e=a-b.xy;float2 f=(b.zw-b.xy)*.5;e-=f;half2 g=half2(sign(e));e=abs" "(e);half2 h=half2(e-(f-float(c)));h=max(h,0.);h*=g;h+=c.xx;half2 i=(2.*c).xx" ";half2 j=h/i;return sample(d,float2(j)).xxxx;}$pure half4 blur_coverage_fn(" "float2 a,float4 b,half2 c,int d,sampler2D e){switch(d){case 0:{return $L(a," "b,c.x,c.y,e);}case 2:{return $M(a,b,e);}case 1:{return $N(a,b,c.x,e);}}return" " half4(0.);}";