[{"data":1,"prerenderedAt":1045},["ShallowReactive",2],{"navigation_docs":3,"-frameworks-flutter":57,"-frameworks-flutter-surround":1040},[4,8,12,16,20,24,28],{"title":5,"path":6,"stem":7},"Introduction","\u002Fintroduction","1.introduction",{"title":9,"path":10,"stem":11},"Installation","\u002Finstallation","2.installation",{"title":13,"path":14,"stem":15},"SDKs","\u002Fsdk","3.sdk",{"title":17,"path":18,"stem":19},"Dashboard","\u002Fdashboard","4.dashboard",{"title":21,"path":22,"stem":23},"HTTP API","\u002Fhttp-api","5.http-api",{"title":25,"path":26,"stem":27},"Image Transformations","\u002Ftransformations","6.transformations",{"title":29,"path":30,"stem":31,"children":32},"Framework Components","\u002Fframeworks","frameworks",[33,37,41,45,49,53],{"title":34,"path":35,"stem":36},"Dart","\u002Fframeworks\u002Fdart","frameworks\u002Fdart",{"title":38,"path":39,"stem":40},"Flutter","\u002Fframeworks\u002Fflutter","frameworks\u002Fflutter",{"title":42,"path":43,"stem":44},"Qwik","\u002Fframeworks\u002Fqwik","frameworks\u002Fqwik",{"title":46,"path":47,"stem":48},"React","\u002Fframeworks\u002Freact","frameworks\u002Freact",{"title":50,"path":51,"stem":52},"Svelte","\u002Fframeworks\u002Fsvelte","frameworks\u002Fsvelte",{"title":54,"path":55,"stem":56},"Vue","\u002Fframeworks\u002Fvue","frameworks\u002Fvue",{"id":58,"title":38,"body":59,"description":1034,"extension":1035,"links":1036,"meta":1037,"navigation":200,"path":39,"seo":1038,"stem":40,"__hash__":1039},"docs\u002Fframeworks\u002Fflutter.md",{"type":60,"value":61,"toc":1027},"minimark",[62,80,84,94,158,161,165,168,619,635,799,803,986,991,1023],[63,64,65,66,70,71,75,76,79],"p",{},"Easily integrate the ",[67,68,69],"strong",{},"PichaFlow Engine"," into your Flutter applications. The ",[72,73,74],"code",{},"pichaflow_flutter"," package provides reactive UI widgets like ",[72,77,78],{},"PichaFlowUploadWidget"," for picking and uploading assets directly to the edge, including client-side optimization and secure handshake flows.",[81,82,9],"h2",{"id":83},"installation",[63,85,86,87,89,90,93],{},"Add both ",[72,88,74],{}," and the core ",[72,91,92],{},"pichaflow_dart"," SDK to your dependencies:",[95,96,101],"pre",{"className":97,"code":98,"language":99,"meta":100,"style":100},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","dependencies:\n  flutter:\n    sdk: flutter\n  pichaflow_flutter: ^0.1.0\n  pichaflow_dart: ^0.1.0\n","yaml","",[72,102,103,116,124,137,148],{"__ignoreMap":100},[104,105,108,112],"span",{"class":106,"line":107},"line",1,[104,109,111],{"class":110},"swJcz","dependencies",[104,113,115],{"class":114},"sMK4o",":\n",[104,117,119,122],{"class":106,"line":118},2,[104,120,121],{"class":110},"  flutter",[104,123,115],{"class":114},[104,125,127,130,133],{"class":106,"line":126},3,[104,128,129],{"class":110},"    sdk",[104,131,132],{"class":114},":",[104,134,136],{"class":135},"sfazB"," flutter\n",[104,138,140,143,145],{"class":106,"line":139},4,[104,141,142],{"class":110},"  pichaflow_flutter",[104,144,132],{"class":114},[104,146,147],{"class":135}," ^0.1.0\n",[104,149,151,154,156],{"class":106,"line":150},5,[104,152,153],{"class":110},"  pichaflow_dart",[104,155,132],{"class":114},[104,157,147],{"class":135},[159,160],"hr",{},[81,162,164],{"id":163},"quick-start","Quick Start",[63,166,167],{},"Create a client instance and pass it to the widget. The widget provides a default upload button or accepts a custom child widget.",[95,169,173],{"className":170,"code":171,"language":172,"meta":100,"style":100},"language-dart shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import 'package:flutter\u002Fmaterial.dart';\nimport 'package:pichaflow_flutter\u002Fpichaflow_flutter.dart';\n\nclass ProfileAvatarUpload extends StatelessWidget {\n  @override\n  Widget build(BuildContext context) {\n    \u002F\u002F Initialize PichaFlow client\n    final client = PichaFlowClient(\n      PichaFlowConfig(\n        signatureUrl: 'https:\u002F\u002Fyour-supabase-project.supabase.co\u002Ffunctions\u002Fv1\u002Fpichaflow-upload',\n      ),\n    );\n\n    return Scaffold(\n      appBar: AppBar(title: const Text('Upload Avatar')),\n      body: Center(\n        child: PichaFlowUploadWidget(\n          client: client,\n          useSecure: true, \u002F\u002F Recommended for client-side uploads\n          tags: const ['avatar', 'user-profile'],\n          onSuccess: (response) {\n            print('Uploaded asset URL: ${response.url}');\n          },\n          onError: (error) {\n            print('Upload error: $error');\n          },\n          onProgress: (progress) {\n            print('Upload progress: ${progress.toStringAsFixed(1)}%');\n          },\n        ),\n      ),\n    );\n  }\n}\n","dart",[72,174,175,187,196,202,221,227,246,253,271,279,293,301,309,314,326,358,371,384,397,411,438,449,484,492,503,525,532,543,578,585,593,600,607,613],{"__ignoreMap":100},[104,176,177,181,184],{"class":106,"line":107},[104,178,180],{"class":179},"sbssI","import",[104,182,183],{"class":135}," 'package:flutter\u002Fmaterial.dart'",[104,185,186],{"class":114},";\n",[104,188,189,191,194],{"class":106,"line":118},[104,190,180],{"class":179},[104,192,193],{"class":135}," 'package:pichaflow_flutter\u002Fpichaflow_flutter.dart'",[104,195,186],{"class":114},[104,197,198],{"class":106,"line":126},[104,199,201],{"emptyLinePlaceholder":200},true,"\n",[104,203,204,207,211,214,217],{"class":106,"line":139},[104,205,206],{"class":114},"class",[104,208,210],{"class":209},"sBMFI"," ProfileAvatarUpload",[104,212,213],{"class":114}," extends",[104,215,216],{"class":209}," StatelessWidget",[104,218,220],{"class":219},"sTEyZ"," {\n",[104,222,223],{"class":106,"line":150},[104,224,226],{"class":225},"spNyl","  @override\n",[104,228,230,233,237,240,243],{"class":106,"line":229},6,[104,231,232],{"class":209},"  Widget",[104,234,236],{"class":235},"s2Zo4"," build",[104,238,239],{"class":219},"(",[104,241,242],{"class":209},"BuildContext",[104,244,245],{"class":219}," context) {\n",[104,247,249],{"class":106,"line":248},7,[104,250,252],{"class":251},"sHwdD","    \u002F\u002F Initialize PichaFlow client\n",[104,254,256,259,262,265,268],{"class":106,"line":255},8,[104,257,258],{"class":225},"    final",[104,260,261],{"class":219}," client ",[104,263,264],{"class":114},"=",[104,266,267],{"class":209}," PichaFlowClient",[104,269,270],{"class":219},"(\n",[104,272,274,277],{"class":106,"line":273},9,[104,275,276],{"class":209},"      PichaFlowConfig",[104,278,270],{"class":219},[104,280,282,285,287,290],{"class":106,"line":281},10,[104,283,284],{"class":219},"        signatureUrl",[104,286,132],{"class":114},[104,288,289],{"class":135}," 'https:\u002F\u002Fyour-supabase-project.supabase.co\u002Ffunctions\u002Fv1\u002Fpichaflow-upload'",[104,291,292],{"class":114},",\n",[104,294,296,299],{"class":106,"line":295},11,[104,297,298],{"class":219},"      )",[104,300,292],{"class":114},[104,302,304,307],{"class":106,"line":303},12,[104,305,306],{"class":219},"    )",[104,308,186],{"class":114},[104,310,312],{"class":106,"line":311},13,[104,313,201],{"emptyLinePlaceholder":200},[104,315,317,321,324],{"class":106,"line":316},14,[104,318,320],{"class":319},"s7zQu","    return",[104,322,323],{"class":209}," Scaffold",[104,325,270],{"class":219},[104,327,329,332,334,337,340,342,345,348,350,353,356],{"class":106,"line":328},15,[104,330,331],{"class":219},"      appBar",[104,333,132],{"class":114},[104,335,336],{"class":209}," AppBar",[104,338,339],{"class":219},"(title",[104,341,132],{"class":114},[104,343,344],{"class":225}," const",[104,346,347],{"class":209}," Text",[104,349,239],{"class":219},[104,351,352],{"class":135},"'Upload Avatar'",[104,354,355],{"class":219},"))",[104,357,292],{"class":114},[104,359,361,364,366,369],{"class":106,"line":360},16,[104,362,363],{"class":219},"      body",[104,365,132],{"class":114},[104,367,368],{"class":209}," Center",[104,370,270],{"class":219},[104,372,374,377,379,382],{"class":106,"line":373},17,[104,375,376],{"class":219},"        child",[104,378,132],{"class":114},[104,380,381],{"class":209}," PichaFlowUploadWidget",[104,383,270],{"class":219},[104,385,387,390,392,395],{"class":106,"line":386},18,[104,388,389],{"class":219},"          client",[104,391,132],{"class":114},[104,393,394],{"class":219}," client",[104,396,292],{"class":114},[104,398,400,403,405,408],{"class":106,"line":399},19,[104,401,402],{"class":219},"          useSecure",[104,404,132],{"class":114},[104,406,407],{"class":114}," true,",[104,409,410],{"class":251}," \u002F\u002F Recommended for client-side uploads\n",[104,412,414,417,419,421,424,427,430,433,436],{"class":106,"line":413},20,[104,415,416],{"class":219},"          tags",[104,418,132],{"class":114},[104,420,344],{"class":225},[104,422,423],{"class":219}," [",[104,425,426],{"class":135},"'avatar'",[104,428,429],{"class":114},",",[104,431,432],{"class":135}," 'user-profile'",[104,434,435],{"class":219},"]",[104,437,292],{"class":114},[104,439,441,444,446],{"class":106,"line":440},21,[104,442,443],{"class":219},"          onSuccess",[104,445,132],{"class":114},[104,447,448],{"class":219}," (response) {\n",[104,450,452,455,457,460,463,467,470,473,476,479,482],{"class":106,"line":451},22,[104,453,454],{"class":235},"            print",[104,456,239],{"class":219},[104,458,459],{"class":135},"'Uploaded asset URL: ",[104,461,462],{"class":219},"${",[104,464,466],{"class":465},"sHdIc","response",[104,468,469],{"class":219},".",[104,471,472],{"class":465},"url",[104,474,475],{"class":219},"}",[104,477,478],{"class":135},"'",[104,480,481],{"class":219},")",[104,483,186],{"class":114},[104,485,487,490],{"class":106,"line":486},23,[104,488,489],{"class":219},"          }",[104,491,292],{"class":114},[104,493,495,498,500],{"class":106,"line":494},24,[104,496,497],{"class":219},"          onError",[104,499,132],{"class":114},[104,501,502],{"class":219}," (error) {\n",[104,504,506,508,510,513,516,519,521,523],{"class":106,"line":505},25,[104,507,454],{"class":235},[104,509,239],{"class":219},[104,511,512],{"class":135},"'Upload error: ",[104,514,515],{"class":219},"$",[104,517,518],{"class":465},"error",[104,520,478],{"class":135},[104,522,481],{"class":219},[104,524,186],{"class":114},[104,526,528,530],{"class":106,"line":527},26,[104,529,489],{"class":219},[104,531,292],{"class":114},[104,533,535,538,540],{"class":106,"line":534},27,[104,536,537],{"class":219},"          onProgress",[104,539,132],{"class":114},[104,541,542],{"class":219}," (progress) {\n",[104,544,546,548,550,553,555,558,560,563,565,568,571,574,576],{"class":106,"line":545},28,[104,547,454],{"class":235},[104,549,239],{"class":219},[104,551,552],{"class":135},"'Upload progress: ",[104,554,462],{"class":219},[104,556,557],{"class":465},"progress",[104,559,469],{"class":219},[104,561,562],{"class":235},"toStringAsFixed",[104,564,239],{"class":219},[104,566,567],{"class":179},"1",[104,569,570],{"class":219},")}",[104,572,573],{"class":135},"%'",[104,575,481],{"class":219},[104,577,186],{"class":114},[104,579,581,583],{"class":106,"line":580},29,[104,582,489],{"class":219},[104,584,292],{"class":114},[104,586,588,591],{"class":106,"line":587},30,[104,589,590],{"class":219},"        )",[104,592,292],{"class":114},[104,594,596,598],{"class":106,"line":595},31,[104,597,298],{"class":219},[104,599,292],{"class":114},[104,601,603,605],{"class":106,"line":602},32,[104,604,306],{"class":219},[104,606,186],{"class":114},[104,608,610],{"class":106,"line":609},33,[104,611,612],{"class":219},"  }\n",[104,614,616],{"class":106,"line":615},34,[104,617,618],{"class":219},"}\n",[620,621,622],"blockquote",{},[63,623,624,627,630,631,634],{},[104,625,626],{},"!CAUTION",[67,628,629],{},"Authentication Check Required",": You must secure your backend ",[72,632,633],{},"signatureUrl"," endpoint with appropriate session or token authentication middleware. If this route is left public and unauthenticated, any user or bot can request valid signatures to upload files directly to your account, risking billing spikes or bucket abuse.",[620,636,637,653,790],{},[63,638,639,642,645,646,648,649,652],{},[104,640,641],{},"!NOTE",[67,643,644],{},"Signature Response Contract",": Your ",[72,647,633],{}," endpoint must return a JSON body with the following fields. The component uses all of them to construct the five ",[72,650,651],{},"X-Picha-*"," headers sent to the Edge Engine:",[95,654,658],{"className":655,"code":656,"language":657,"meta":100,"style":100},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"signature\":    \"\u003Chmac-sha256-hex>\",\n  \"timestamp\":    1234567890000,\n  \"tenantId\":     \"pf_prj_...\",\n  \"directory\":    \"products\u002Fsummer\u002F\",\n  \"maxSize\":      \"5242880\",\n  \"allowedTypes\": \"image\u002Fwebp,image\u002Fjpeg\"\n}\n","json",[72,659,660,665,688,704,725,745,766,786],{"__ignoreMap":100},[104,661,662],{"class":106,"line":107},[104,663,664],{"class":114},"{\n",[104,666,667,670,673,676,678,681,684,686],{"class":106,"line":118},[104,668,669],{"class":114},"  \"",[104,671,672],{"class":225},"signature",[104,674,675],{"class":114},"\"",[104,677,132],{"class":114},[104,679,680],{"class":114},"    \"",[104,682,683],{"class":135},"\u003Chmac-sha256-hex>",[104,685,675],{"class":114},[104,687,292],{"class":114},[104,689,690,692,695,697,699,702],{"class":106,"line":126},[104,691,669],{"class":114},[104,693,694],{"class":225},"timestamp",[104,696,675],{"class":114},[104,698,132],{"class":114},[104,700,701],{"class":179},"    1234567890000",[104,703,292],{"class":114},[104,705,706,708,711,713,715,718,721,723],{"class":106,"line":139},[104,707,669],{"class":114},[104,709,710],{"class":225},"tenantId",[104,712,675],{"class":114},[104,714,132],{"class":114},[104,716,717],{"class":114},"     \"",[104,719,720],{"class":135},"pf_prj_...",[104,722,675],{"class":114},[104,724,292],{"class":114},[104,726,727,729,732,734,736,738,741,743],{"class":106,"line":150},[104,728,669],{"class":114},[104,730,731],{"class":225},"directory",[104,733,675],{"class":114},[104,735,132],{"class":114},[104,737,680],{"class":114},[104,739,740],{"class":135},"products\u002Fsummer\u002F",[104,742,675],{"class":114},[104,744,292],{"class":114},[104,746,747,749,752,754,756,759,762,764],{"class":106,"line":229},[104,748,669],{"class":114},[104,750,751],{"class":225},"maxSize",[104,753,675],{"class":114},[104,755,132],{"class":114},[104,757,758],{"class":114},"      \"",[104,760,761],{"class":135},"5242880",[104,763,675],{"class":114},[104,765,292],{"class":114},[104,767,768,770,773,775,777,780,783],{"class":106,"line":248},[104,769,669],{"class":114},[104,771,772],{"class":225},"allowedTypes",[104,774,675],{"class":114},[104,776,132],{"class":114},[104,778,779],{"class":114}," \"",[104,781,782],{"class":135},"image\u002Fwebp,image\u002Fjpeg",[104,784,785],{"class":114},"\"\n",[104,787,788],{"class":106,"line":255},[104,789,618],{"class":114},[63,791,792,793,798],{},"See ",[794,795,797],"a",{"href":796},"\u002Fhttp-api#_10-client-side-upload-signatures","HTTP API → Client-Side Upload Signatures"," for the full HMAC construction guide.",[81,800,802],{"id":801},"widget-parameters-reference","Widget Parameters Reference",[804,805,806,825],"table",{},[807,808,809],"thead",{},[810,811,812,816,819,822],"tr",{},[813,814,815],"th",{},"Property",[813,817,818],{},"Type",[813,820,821],{},"Required",[813,823,824],{},"Description",[826,827,828,847,869,885,902,919,936,955,970],"tbody",{},[810,829,830,836,841,844],{},[831,832,833],"td",{},[72,834,835],{},"client",[831,837,838],{},[72,839,840],{},"PichaFlowClient",[831,842,843],{},"Yes",[831,845,846],{},"The initialized client instance used to perform API\u002FCDN calls.",[810,848,849,854,859,862],{},[831,850,851],{},[72,852,853],{},"useSecure",[831,855,856],{},[72,857,858],{},"bool",[831,860,861],{},"No",[831,863,864,865,868],{},"Default ",[72,866,867],{},"false",". If true, fetches signature from backend route before uploading.",[810,870,871,875,880,882],{},[831,872,873],{},[72,874,633],{},[831,876,877],{},[72,878,879],{},"String?",[831,881,861],{},[831,883,884],{},"Backend endpoint for signing secure upload requests. Must return the 6 signature fields.",[810,886,887,892,897,899],{},[831,888,889],{},[72,890,891],{},"customButton",[831,893,894],{},[72,895,896],{},"Widget?",[831,898,861],{},[831,900,901],{},"Override the default blue button with your own custom widget.",[810,903,904,909,914,916],{},[831,905,906],{},[72,907,908],{},"mode",[831,910,911],{},[72,912,913],{},"UploadMode?",[831,915,861],{},[831,917,918],{},"Internal upload mode flag.",[810,920,921,926,931,933],{},[831,922,923],{},[72,924,925],{},"tags",[831,927,928],{},[72,929,930],{},"List\u003CString>?",[831,932,861],{},[831,934,935],{},"Tags attached to the uploaded media for asset grouping\u002Fqueries.",[810,937,938,942,946,948],{},[831,939,940],{},[72,941,731],{},[831,943,944],{},[72,945,879],{},[831,947,861],{},[831,949,950,951,954],{},"Optional target folder path (e.g. ",[72,952,953],{},"avatars\u002Fuser-123",") to store uploaded assets.",[810,956,957,961,965,967],{},[831,958,959],{},[72,960,710],{},[831,962,963],{},[72,964,879],{},[831,966,861],{},[831,968,969],{},"Tenant ID for separating files in multi-tenant environments.",[810,971,972,977,981,983],{},[831,973,974],{},[72,975,976],{},"customUploadEndpoint",[831,978,979],{},[72,980,879],{},[831,982,861],{},[831,984,985],{},"Target upload URL, overriding the config default.",[987,988,990],"h3",{"id":989},"callbacks","Callbacks",[992,993,994,1005,1014],"ul",{},[995,996,997,1000,1001,1004],"li",{},[72,998,999],{},"onSuccess",": ",[72,1002,1003],{},"Function(UploadResponse)"," - Triggered when the upload successfully completes.",[995,1006,1007,1000,1010,1013],{},[72,1008,1009],{},"onError",[72,1011,1012],{},"Function(String)"," - Triggered on upload errors or cancellation.",[995,1015,1016,1000,1019,1022],{},[72,1017,1018],{},"onProgress",[72,1020,1021],{},"Function(double)"," - Reports current upload progress percentage.",[1024,1025,1026],"style",{},"html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":100,"searchDepth":118,"depth":118,"links":1028},[1029,1030,1031],{"id":83,"depth":118,"text":9},{"id":163,"depth":118,"text":164},{"id":801,"depth":118,"text":802,"children":1032},[1033],{"id":989,"depth":126,"text":990},"Integrate PichaFlow into your Flutter applications.","md",null,{},{"title":38,"description":1034},"GFCcWGqtYOeCQeCkC-bHOKN-_jYgtTPjInjDTWruXjE",[1041,1043],{"title":34,"path":35,"stem":36,"description":1042,"children":-1},"Integrate PichaFlow into your Dart applications and server-side environments.",{"title":42,"path":43,"stem":44,"description":1044,"children":-1},"Integrate PichaFlow into your Qwik applications with fine-grained reactivity.",1786829280665]