core.xml.backup-2021-02-01-09-41-18 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762
  1. <krpano licznik="0" x_listflar="0" y_listflar="160">
  2. <include url="lensflaresettings.xml"/>
  3. <include url="edit.xml" devices="html5" if="addflaremode == 1"/>
  4. <style name="blink_fl_lt" url="dust/d1.png" vr="true" enabled="false" align="center" edge="rightbottom" x="0" y="0" width="prop" height="70%" keep="false" alpha="0" zorder="100"/>
  5. <style name="blink_fl_rt" url="dust/d2.png" vr="true" enabled="false" align="center" edge="leftbottom" x="0" y="0" width="prop" height="70%" keep="false" alpha="0" zorder="100"/>
  6. <style name="blink_fl_rb" url="dust/d3.png" vr="true" enabled="false" align="center" edge="lefttop" x="0" y="0" width="prop" height="70%" keep="false" alpha="0" zorder="100"/>
  7. <style name="blink_fl_lb" url="dust/d4.png" vr="true" enabled="false" align="center" edge="righttop" x="0" y="0" width="prop" height="70%" keep="false" alpha="0" zorder="100"/>
  8. <style name="blink_fl_ce" url="dast4.png" vr="true" enabled="false" rotate="180" align="center" edge="center" x="0" y="0" width="prop" height="50%" keep="false" alpha="0" zorder="100"/>
  9. <events name="loasflares" keep="true" onpreviewcomplete="load_flare_content()"/>
  10. <style name="flare" enabled="false" depth="1000" alpha="0" distorted="true" edge="center" ox="0" oy="0" width="440" height="440" keep="false" />
  11. <flare_style name="blinkstyle1">
  12. <item name="flare0" url="blinkstyle1/flare7.png" vars="100|0.5|1.0|-1|0|0.05|false|0.0|0.05|true"/>
  13. <item name="flare1" url="blinkstyle1/flare5.png" vars="100|5.0|0.0|2|0|1|false|0.0|0.05|true"/>
  14. <item name="flare2" url="blinkstyle1/flare11.png" vars="-0.2|0.1|0.0|-1|0.9|0.017|true|0.4|0.05|false"/>
  15. <item name="flare3" url="blinkstyle1/flare6.png" vars="-9|0.05|0.2|-1|0.9|0.015|false|0.2|0.015|false"/>
  16. <item name="flare4" url="blinkstyle1/flare6.png" vars="-1|0.1|0.3|-1|0.9|0.015|false|0.2|0.015|true"/>
  17. <item name="flare5" url="blinkstyle1/flare6.png" vars="-0.3|0.05|0.4|-1|0.9|0.015|false|0.2|0.015|true"/>
  18. <item name="flare6" url="blinkstyle1/flare11.png" vars="-0.7|0.2|0.0|-1|0.9|0.017|true|0.4|0.017|false"/>
  19. <item name="flare7" url="blinkstyle1/flare16.png" vars="-9|1.8|0.0|-1|0.9|0.01|true|0.5|0.02|false"/>
  20. <item name="flare8" url="blinkstyle1/flare4.png" vars="100|0.8|0.2|-1|0|1|false|0.0|0.015|false"/>
  21. </flare_style>
  22. <flare_style name="blinkstyle2">
  23. <item name="flare1" url="blinkstyle2/flare7.png" vars="100|1.0|1.0|-1|0|0.05|false|0.0|0.05|true"/>
  24. <item name="flare2" url="blinkstyle2/flare5.png" vars="100|6.0|0.0|2|0|0.05|false|0.0|0.05|true"/>
  25. <item name="flare7" url="blinkstyle2/flare13.png" vars="100|1.05|0.0|-1|0|0.115|true|0.3|0.0|false"/>
  26. <item name="flare3" url="blinkstyle2/flare3.png" vars="-6|0.15|0.2|-1|0.9|0.015|false|0.0|0.015|false"/>
  27. <item name="flare4" url="blinkstyle2/flare5.png" vars="-1|0.02|0.6|-1|0.9|0.015|false|0.0|0.015|false"/>
  28. <item name="flare5" url="blinkstyle2/flare3.png" vars="-0.5|0.11|0.4|-1|0.9|0.015|false|0.0|0.015|true"/>
  29. <item name="flare6" url="blinkstyle2/flare2.png" vars="18|0.01|0.0|1|0.9|0.15|true|0.6|0.15|false"/>
  30. </flare_style>
  31. <flare_style name="blinkstyle3">
  32. <item name="flare1" url="blinkstyle3/flare7.png" vars="100|1.0|1.0|-1|0|0.05|false|0.0|0.05|true"/>
  33. <item name="flare2" url="blinkstyle3/flare5.png" vars="100|8.0|0.0|2|0|0.05|false|0.0|0.05|true"/>
  34. <item name="flare3" url="blinkstyle3/flare6.png" vars="-8|1.2|0.1|-1|0.9|0.05|false|0.2|0.05|false"/>
  35. <item name="flare4" url="blinkstyle3/flare6.png" vars="-5|0.12|0.6|-1|0.9|0.009|true|0.6|0.02|false"/>
  36. <item name="flare5" url="blinkstyle3/flare6.png" vars="-2|0.06|0.6|-1|0.9|0.012|true|0.8|0.05|false"/>
  37. <item name="flare6" url="blinkstyle3/flare6.png" vars="-1.5|1.6|0.05|-1|0.9|0.07|false|0.0|0.05|true"/>
  38. <item name="flare7" url="blinkstyle3/flare14.png" vars="10.5|3.0|0.0|1|0.9|0.07|true|0.7|0.05|false"/>
  39. <item name="flare8" url="blinkstyle3/flare16.png" vars="-0.1|1.2|0.0|-1|0.9|0.01|true|0.4|0.05|true"/>
  40. </flare_style>
  41. <flare_style name="blinkstyle4">
  42. <item name="flare1" url="blinkstyle4/flare7.png" vars="100|0.3|0.9|-1|0|0.05|false|0.0|0.0|true"/>
  43. <item name="flare2" url="blinkstyle4/flare7.png" vars="100|0.001|0.0|3|0|0.05|false|0.0|0.0|true"/>
  44. <item name="flare3" url="blinkstyle4/flare5.png" vars="-6|1.3|0.3|-1|0.9|0.009|false|0.0|0.05|false"/>
  45. <item name="flare4" url="blinkstyle4/flare5.png" vars="-1|1.2|0.1|-1|0.9|0.011|false|0.0|0.05|false"/>
  46. <item name="flare5" url="blinkstyle4/flare4.png" vars="2|1.3|0.2|-1|0.9|0.014|false|0.0|0.05|false"/>
  47. <item name="flare6" url="blinkstyle4/flare6.png" vars="5|0.02|0.2|2|0.9|0.05|true|0.6|0.002|false"/>
  48. <item name="flare7" url="blinkstyle4/flare11.png" vars="1|0.01|0.0|2|0.9|0.05|true|0.3|0.02|true"/>
  49. <item name="flare8" url="blinkstyle4/flare17.png" vars="-2|3.22|0.5|1|0.9|0.01|true|0.6|0.02|true"/>
  50. <item name="flare9" url="blinkstyle4/flare12.png" vars="-6|0.5|0.8|3|0.9|0.01|true|0.2|0.9|false"/>
  51. </flare_style>
  52. <flare_style name="blinkstyle5">
  53. <item name="flare1" url="blinkstyle5/flare1.png" vars="100|1.0|1.0|-1|0|0.02|false|0.0|0.05|true"/>
  54. <item name="flare2" url="blinkstyle5/flare5.png" vars="100|6.0|0.0|2|0|0.01|false|0.0|0.05|true"/>
  55. <item name="flare3" url="blinkstyle5/flare9.png" vars="-6|0.8|0.8|1|0.9|0.01|true|0.4|0.8|false"/>
  56. <item name="flare5" url="blinkstyle5/flare8.png" vars="-6|4.8|0.8|-1|0.9|0.1|true|0.5|0.8|true"/>
  57. <item name="flare6" url="blinkstyle5/flare17.png" vars="6|3.22|0.1|1|0.9|0.01|false|0.3|0.03|false"/>
  58. <item name="flare7" url="blinkstyle5/flare7.png" vars="-6|0.12|0.4|-1|0.9|0.005|true|0.2|0.1|true"/>
  59. <item name="flare8" url="blinkstyle5/flare7.png" vars="-5|0.08|0.5|-1|0.9|0.009|true|0.6|0.2|false"/>
  60. <item name="flare9" url="blinkstyle5/flare4.png" vars="-5|0.12|0.4|-1|0.9|0.006|true|0.2|0.23|false"/>
  61. </flare_style>
  62. <flare_style name="blinkstyle6">
  63. <item name="flare1" url="blinkstyle6/flare7.png" vars="100|1.0|1.0|-1|0|0.05|false|0.0|0.05|true"/>
  64. <item name="flare2" url="blinkstyle6/flare5.png" vars="100|8.0|0.0|2|0|0.05|false|0.0|0.05|true"/>
  65. <item name="flare3" url="blinkstyle6/flare6.png" vars="-8|1.2|0.05|-1|0.9|0.05|false|0.2|0.05|false"/>
  66. <item name="flare4" url="blinkstyle6/flare6.png" vars="-5|0.12|0.4|-1|0.9|0.009|true|0.3|0.02|true"/>
  67. <item name="flare5" url="blinkstyle6/flare6.png" vars="-2|0.08|0.3|-1|0.9|0.012|true|0.4|0.05|true"/>
  68. <item name="flare6" url="blinkstyle6/flare6.png" vars="-1.5|0.5|0.03|-1|0.9|0.07|false|0.0|0.05|false"/>
  69. <item name="flare7" url="blinkstyle6/flare17.png" vars="10|4.5|0.2|1|0.9|0.03|true|0.7|0.05|false"/>
  70. <item name="flare8" url="blinkstyle6/flare8.png" vars="-6|4.8|0.8|-1|0.9|0.1|true|0.5|0.8|false"/>
  71. <item name="flare9" url="blinkstyle6/flare16.png" vars="-0.1|1.2|0.0|-1|0.9|0.01|true|0.6|0.05|false"/>
  72. </flare_style>
  73. <flare_style name="blinkstyle7">
  74. <item name="flare1" url="blinkstyle7/flare7.png" vars="100|1.0|1.0|2|0|0.05|false|0.0|0.05|true"/>
  75. <item name="flare2" url="blinkstyle7/flare5.png" vars="100|6.0|0.0|3|0|0.05|false|0.0|0.05|true"/>
  76. <item name="flare3" url="blinkstyle7/flare1.png" vars="100|5.0|0.0|1|0|0.2|true|0.1|0.0005|false"/>
  77. <item name="flare4" url="blinkstyle7/flare8.png" vars="-6|0.2|0.2|2|0.9|0.05|false|0.0|0.05|false"/>
  78. <item name="flare5" url="blinkstyle7/flare6.png" vars="-3|0.2|0.2|2|0.9|0.015|false|0.0|0.05|true"/>
  79. <item name="flare6" url="blinkstyle7/flare6.png" vars="-0.8|0.12|0.6|2|0.9|0.015|false|0.0|0.05|true"/>
  80. <item name="flare7" url="blinkstyle7/flare3.png" vars="6|0.3|0.1|1|0.9|0.05|false|0.0|0.05|false"/>
  81. <item name="flare8" url="blinkstyle7/flare4.png" vars="9|0.4|0.2|1|0.9|0.1|false|0.0|0.1|false"/>
  82. </flare_style>
  83. <flare_style name="blinkstyle8">
  84. <item name="flare1" url="blinkstyle8/flare7.png" vars="100|1.0|1.0|2|0|0.05|false|0.0|0.05|true"/>
  85. <item name="flare2" url="blinkstyle8/flare5.png" vars="100|6.0|0.0|3|0|0.05|false|0.0|0.05|true"/>
  86. <item name="flare3" url="blinkstyle8/flare2.png" vars="-8|0.06|0.2|-1|0.9|0.005|false|0.1|0.01|false"/>
  87. <item name="flare4" url="blinkstyle8/flare16.png" vars="-4.5|0.1|0.3|2|0.9|0.005|false|0.0|0.04|false"/>
  88. <item name="flare5" url="blinkstyle8/flare6.png" vars="-2.8|0.2|0.2|2|0.9|0.005|false|0.0|0.1|true"/>
  89. <item name="flare6" url="blinkstyle8/flare5.png" vars="-1.5|0.1|0.6|2|0.9|0.005|false|0.0|0.15|true"/>
  90. <item name="flare7" url="blinkstyle8/flare2.png" vars="-1.2|4.0|0.6|1|0.9|0.2|true|0.5|0.12|false"/>
  91. <item name="flare8" url="blinkstyle8/flare16.png" vars="-1|1.2|0.8|1|0.9|0.09|true|0.3|0.17|true"/>
  92. </flare_style>
  93. <flare_style name="blinkstyle9">
  94. <item name="flare1" url="blinkstyle9/flare7.png" vars="100|0.1|1.0|2|0|0.05|false|0.0|0.005|true"/>
  95. <item name="flare2" url="blinkstyle9/flare1.png" vars="100|1.0|0.0|3|0|0.05|false|0.0|0.1|true"/>
  96. <item name="flare3" url="blinkstyle9/flare5.png" vars="-12|0.1|0.4|-1|0.9|0.005|false|0.0|0.5|false"/>
  97. <item name="flare4" url="blinkstyle9/flare6.png" vars="-3|0.1|0.2|-1|0.9|0.005|false|0.0|0.02|true"/>
  98. <item name="flare5" url="blinkstyle9/flare2.png" vars="-1.5|0.1|0.4|-1|0.9|0.005|false|0.0|0.04|true"/>
  99. <item name="flare6" url="blinkstyle9/flare6.png" vars="-0.5|0.1|0.1|-1|0.9|0.05|false|0.0|0.04|false"/>
  100. </flare_style>
  101. <!-- 这里重写了WebVR,与vtourskin.xml引用本文件前对WebVR的声明造成冲突 -->
  102. <!--plugin name="WebVR" keep="true" devices="html5"
  103. onentervr="skin_showloading(false); webvr_onentervr(); webvr_setup();roszada_flar_vebvrmode()"
  104. onexitvr="webvr_onexitvr(); webvr_setup();roszada_flar_vebvrmode()"
  105. /-->
  106. <action name="roszada_flar_vebvrmode">
  107. for(set(i,0),i LT hotspot.count,inc(i),
  108. if(hotspot[get(i)].tag == 'lensflare_tag_dynamic',
  109. vonh(get(i));
  110. );
  111. );
  112. load_flare_content();
  113. </action>
  114. <action name="load_flare_content">
  115. if(!first_flare_settings,
  116. copy(suma_flar, lensflares[obj].item.count);
  117. set(first_flare_settings, true);
  118. );
  119. if(lensflares[obj].item.count GT 0 OR addflaremode == true,
  120. flayer(blink_fl_lt,blink_fl_lt);
  121. flayer(blink_fl_rt,blink_fl_rt);
  122. flayer(blink_fl_rb,blink_fl_rb);
  123. flayer(blink_fl_lb,blink_fl_lb);
  124. );
  125. set(load_gui_flar, false);
  126. for(set(i,0), i LT lensflares[obj].item.count, inc(i),
  127. copy(name_flare, lensflares[obj].item[get(i)].name);
  128. copy(blink_style, lensflares[obj].item[get(i)].typ);
  129. if(lensflares[obj].item[get(i)].scene == scene[get(xml.scene)].name,
  130. set(load_gui_flar, true);
  131. for(set(j,0), j LT flare_style[get(blink_style)].item.count, inc(j),
  132. txtsplit(flare_style[get(blink_style)].item[get(j)].vars, '|', arrows);
  133. txtadd(n, 'f1_',get(lensflares[obj].item[get(i)].name),'_',get(j));
  134. txtadd(n0, 'f1_',get(lensflares[obj].item[get(i)].name),'_0');
  135. copy(move, arrows[0].value);
  136. copy(scale, arrows[1].value);
  137. copy(alpha, arrows[2].value);
  138. copy(zorder, arrows[3].value);
  139. copy(flying, arrows[4].value);
  140. copy(rscale, arrows[5].value);
  141. copy(ralpha, arrows[6].value);
  142. copy(ralphaminus, arrows[7].value);
  143. copy(rmove, arrows[8].value);
  144. copy(invr, arrows[9].value);
  145. add_single_flare(get(n),get(i),get(j),get(blink_style),get(name_flare),get(move),get(flying),get(rscale),get(ralpha),get(ralphaminus),get(scale),get(alpha),get(zorder),get(rmove),get(invr),get(n0));
  146. );
  147. );
  148. );
  149. if(addflaremode,
  150. show_lensfrafe_aktyw_box(get(scene[get(xml.scene)].name),get(load_gui_flar));
  151. );
  152. </action>
  153. <action name="add_single_flare">
  154. fhotspot(%1,flare);
  155. copy(h.url, flare_style[%4].item[%3].url);
  156. copy(h.ath, lensflares[obj].item[%5].ath);
  157. copy(h.atv, lensflares[obj].item[%5].atv);
  158. if(lensflares[obj].item[%5].dust_effect === null, set(lensflares[obj].item[%5].dust_effect, true));
  159. copy(h.dust_effect, lensflares[obj].item[%5].dust_effect);
  160. set(h.tagmini, %5);
  161. set(h.move, %6);
  162. set(h.rmove, %14);
  163. copy(h.athbazowy, hotspot[%16].ath);
  164. copy(h.atvbazowy, hotspot[%16].atv);
  165. set(h.flying, %7);
  166. set(h.scale, %11);
  167. set(h.alpha, %12);
  168. set(scaleTemp_%1, %11);
  169. set(h._alpha, %12);
  170. set(h.rscale, %8);
  171. set(h.ralpha, %9);
  172. set(h.ralphaminus, %10);
  173. set(h.zorder, %13);
  174. set(h.invr, %15);
  175. set(h.tag, lensflare_tag_dynamic);
  176. set(h.onloaded,
  177. if(webvr.isenabled, if(!invr, vonh(get(name))));
  178. asyncloop(loaded,
  179. spheretoscreen(ath, atv, xposh_%1, yposh_%1);
  180. div(xpos_%1, stagewidth, 2);
  181. div(ypos_%1, stageheight, 2);
  182. sub(xposg_%1, xposh_%1, xpos_%1);
  183. sub(yposg_%1, yposh_%1, ypos_%1);
  184. div(ox, xposg_%1, calc(move*1.4/(rmove*12)));
  185. div(oy, yposg_%1, calc(move*1.4/(rmove*12)));
  186. getlooktodistance(scal_%1, view.hlookat, view.vlookat, ath, atv);
  187. spheretoscreen(athbazowy, atvbazowy, px_%1, py_%1);
  188. sub(a_%1, px_%1, xpos_%1);
  189. sub(b_%1, ypos_%1, py_%1);
  190. Math.atan2(angle_%1, a_%1, b_%1);
  191. mul(angle_%1, 180);
  192. div(angle_%1, Math.PI);
  193. add(angle_%1, 270);
  194. mod(angle_%1, 360);
  195. roundval(angle_%1);
  196. copy(rz, angle_%1);
  197. if(ralpha,
  198. set(alpha_%1, calc((scal_%1/70)-ralphaminus));
  199. if(alpha_%1 LE 0, set(alpha_%1, 0));
  200. if(webVr.isenabled,
  201. set(hotspot[%1].alpha, calc(alpha_%1/3));
  202. ,
  203. set(hotspot[%1].alpha, calc(alpha_%1));
  204. if(hotspot[%1].alpha GT 1, set(hotspot[%1].alpha, 1));
  205. );
  206. );
  207. if(rscale != 1,
  208. set(valsc_%1, calc((rscale*scal_%1)/10+scaleTemp_%1));
  209. if(webVr.isenabled,
  210. set(scale, calc(valsc_%1/2));
  211. ,
  212. copy(scale, valsc_%1);
  213. );
  214. );
  215. if(%3 == '1',
  216. getlooktodistance(result_%1, view.hlookat, view.vlookat, ath, atv);
  217. div(result1_%1, result_%1, 10);
  218. clamp(result1_%1, 0.0, 1.0);
  219. mod(result2_%1, result1_%1, 100);
  220. sub(result2_%1,1);
  221. mul(result2_%1,-1);
  222. copy(alpha, result2_%1);
  223. sub(alpha, 0.3);
  224. if(result_%1 LT 7,
  225. migaj_kurzem(get(result2_%1),get(dust_effect));
  226. );
  227. if(result_%1 GT 7 AND result_%1 LT 20,
  228. migaj_kurzem(0,true);
  229. );
  230. );
  231. testme(%1,get(xposh_%1),get(yposh_%1));
  232. );
  233. );
  234. </action>
  235. <action name="migaj_kurzem">
  236. if(%2,
  237. set(layer[blink_fl_lt].alpha, %1);
  238. set(layer[blink_fl_rt].alpha, %1);
  239. set(layer[blink_fl_rb].alpha, %1);
  240. set(layer[blink_fl_lb].alpha, %1);
  241. set(layer[blink_fl_ce].alpha, %1);
  242. );
  243. </action>
  244. <action name="testme">
  245. if(%3 LT 0 OR !%3,
  246. set(ukryj_gora_%1, true);
  247. ,
  248. set(ukryj_gora_%1, false);
  249. );
  250. if(%3 GT stageheight OR !%3,
  251. set(ukryj_dol_%1, true);
  252. ,
  253. set(ukryj_dol_%1, false);
  254. );
  255. if(%2 LT 0 OR !%2,
  256. set(ukryj_lewo_%1, true);
  257. ,
  258. set(ukryj_lewo_%1, false);
  259. );
  260. if(%2 GT stagewidth OR !%2,
  261. set(ukryj_prawo_%1, true);
  262. ,
  263. set(ukryj_prawo_%1, false);
  264. );
  265. if(!ukryj_gora_%1 AND !ukryj_dol_%1 AND !ukryj_lewo_%1 AND !ukryj_prawo_%1,
  266. set(visible, true);
  267. ,
  268. set(visible, false);
  269. );
  270. </action>
  271. <action name="reset_pano_lensflare"/>
  272. <action name="flayer">
  273. addlayer(%1);
  274. layer[%1].loadstyle(%2);
  275. copy(p, layer[%1]);
  276. </action>
  277. <action name="fhotspot">
  278. addhotspot(%1);
  279. hotspot[%1].loadstyle(%2);
  280. copy(h, hotspot[%1]);
  281. </action>
  282. <action name="vonp">
  283. if(layer[%1].loaded, removelayer(%1));
  284. </action>
  285. <action name="vonh">
  286. if(hotspot[%1].loaded, removehotspot(%1));
  287. </action>
  288. <action name="vonh_all">
  289. sub(i,hotspot.count,1);
  290. if(i GE 0,loop_vonh_all(get(i),%1,%2));
  291. </action>
  292. <action name="loop_vonh_all">
  293. if(%2 == null,
  294. vonh(%1);
  295. ,
  296. if(hotspot[%1].%2 == %3,
  297. vonh(%1);
  298. );
  299. );
  300. dec(i);
  301. if(i GE 0, loop_vonh_all(get(i),%2,%3));
  302. </action>
  303. </krpano>