Advertisement
Guest User

hPartSim Profiling Report

a guest
May 12th, 2013
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 34.79 KB | None | 0 0
  1. Sun May 12 16:48 2013 Time and Allocation Profiling Report (Final)
  2.  
  3. main.exe +RTS -hd -p -RTS xy_centers_norm.dat
  4.  
  5. total time = 48.23 secs (48229 ticks @ 1000 us, 1 processor)
  6. total alloc = 15,294,870,928 bytes (excludes profiling overheads)
  7.  
  8. COST CENTRE MODULE %time %alloc
  9.  
  10. modifyVectorElement CellList 29.6 26.4
  11. runSimulation.\ Main 22.4 17.1
  12. cellNeighbours.temp CellList 12.7 21.9
  13. cellNeighbours CellList 11.1 19.8
  14. cellIndex CellList 8.7 7.4
  15. runSimulation.\.\ Main 3.9 3.2
  16. getCell CellList 2.2 0.0
  17. neighbours CellList 1.9 1.5
  18.  
  19.  
  20. individual inherited
  21. COST CENTRE MODULE no. entries %time %alloc %time %alloc
  22.  
  23. MAIN MAIN 121 0 0.0 0.0 100.0 100.0
  24. main Main 243 0 0.0 0.0 100.0 100.0
  25. main.cll Main 300 1 0.0 0.0 0.1 0.0
  26. generateCellList.cell_indices Main 302 1 0.0 0.0 0.0 0.0
  27. generateCellList Main 301 1 0.0 0.0 0.1 0.0
  28. generateCellList.cllInsertAt' Main 307 432 0.0 0.0 0.1 0.0
  29. cllInsertAt CellList 308 432 0.0 0.0 0.1 0.0
  30. modifyVectorElement CellList 312 432 0.1 0.0 0.1 0.0
  31. modifyVectorElement.\ CellList 313 432 0.0 0.0 0.0 0.0
  32. generateCellList.ncells Main 304 1 0.0 0.0 0.0 0.0
  33. generateCellList.cell_indices Main 303 0 0.0 0.0 0.0 0.0
  34. cellIndex CellList 309 432 0.0 0.0 0.0 0.0
  35. cellIndex.posL CellList 310 432 0.0 0.0 0.0 0.0
  36. vec3toList Vec3 311 432 0.0 0.0 0.0 0.0
  37. main.variables Main 279 1 0.0 0.0 0.0 0.0
  38. main.configuration Main 259 1 0.0 0.0 0.0 0.0
  39. main.(...) Main 251 1 0.0 0.0 0.0 0.0
  40. loadConfig ConfigParser 252 1 0.0 0.0 0.0 0.0
  41. loadConfig.box ConfigParser 272 1 0.0 0.0 0.0 0.0
  42. readBox ConfigParser 273 1 0.0 0.0 0.0 0.0
  43. readBox.nums ConfigParser 275 1 0.0 0.0 0.0 0.0
  44. bsToFloating ConfigParser 276 1 0.0 0.0 0.0 0.0
  45. takeEvery ConfigParser 274 3 0.0 0.0 0.0 0.0
  46. loadConfig.bline ConfigParser 271 1 0.0 0.0 0.0 0.0
  47. readParticle ConfigParser 264 432 0.0 0.0 0.0 0.0
  48. invertBox Box 270 432 0.0 0.0 0.0 0.0
  49. changeCoords ConfigParser 268 432 0.0 0.0 0.0 0.0
  50. .*. Vec3 277 432 0.0 0.0 0.0 0.0
  51. vec3fromList Vec3 269 432 0.0 0.0 0.0 0.0
  52. readParticle.pos ConfigParser 265 432 0.0 0.0 0.0 0.0
  53. bsToFloating ConfigParser 267 1 0.0 0.0 0.0 0.0
  54. vec3fromList Vec3 266 432 0.0 0.0 0.0 0.0
  55. loadConfig.body ConfigParser 263 1 0.0 0.0 0.0 0.0
  56. readNParticles ConfigParser 255 1 0.0 0.0 0.0 0.0
  57. loadConfig.(...) ConfigParser 254 1 0.0 0.0 0.0 0.0
  58. loadConfig.nline ConfigParser 253 1 0.0 0.0 0.0 0.0
  59. main.n Main 250 1 0.0 0.0 0.0 0.0
  60. runSimulation.\ Main 249 1000 22.4 17.1 99.9 99.9
  61. printConfig Main 473 10 0.0 0.0 0.6 0.8
  62. configToString Main 475 10 0.0 0.0 0.6 0.8
  63. configToString.particlesToString Main 483 10 0.0 0.1 0.6 0.8
  64. configToString.vec3ToString Main 488 4320 0.6 0.7 0.6 0.7
  65. .*. Vec3 487 4320 0.0 0.0 0.0 0.0
  66. changeCoords Main 484 4320 0.0 0.0 0.0 0.0
  67. vec3fromList Vec3 485 10 0.0 0.0 0.0 0.0
  68. configToString.boxToString Main 476 10 0.0 0.0 0.0 0.0
  69. runSimulation.\.newdv Main 472 10 0.0 0.0 0.0 0.0
  70. runSimulation.\.olddv Main 471 10 0.0 0.0 0.0 0.0
  71. runSimulation.\.accVol Main 470 10 0.0 0.0 0.0 0.0
  72. runSimulation.\.newdx Main 469 10 0.0 0.0 0.0 0.0
  73. runSimulation.\.olddx Main 468 10 0.0 0.0 0.0 0.0
  74. runSimulation.\.accMov Main 467 10 0.0 0.0 0.0 0.0
  75. changeVolume Main 391 434 0.0 0.0 8.5 11.6
  76. changeVolume.cll' Main 463 148 0.0 0.0 0.0 0.0
  77. changeVolume.new_n Main 462 148 0.0 0.0 0.0 0.0
  78. changeVolume.recreate Main 449 148 0.0 0.0 0.0 0.0
  79. changeVolume.new_cell_size Main 448 148 0.0 0.0 0.0 0.0
  80. changeVolume.config' Main 447 148 0.0 0.0 0.0 0.0
  81. changeVolume.v Main 416 434 0.0 0.0 0.0 0.0
  82. boxVolume Box 417 434 0.0 0.0 0.0 0.0
  83. changeVolume.box' Main 413 434 0.0 0.0 0.0 0.0
  84. changeVolume.box'.scalef Main 415 434 0.0 0.0 0.0 0.0
  85. scaleBox Box 414 434 0.0 0.0 0.0 0.0
  86. changeVolume.isCollision Main 402 434 0.1 0.0 0.8 0.0
  87. checkCollision Main 403 344846 0.2 0.0 0.7 0.0
  88. dot Vec3 441 344846 0.0 0.0 0.0 0.0
  89. .*. Vec3 440 344846 0.0 0.0 0.0 0.0
  90. distance Main 406 344846 0.1 0.0 0.5 0.0
  91. dot Vec3 442 0 0.0 0.0 0.0 0.0
  92. distance.distVec Main 407 344846 0.1 0.0 0.4 0.0
  93. changeCoords Main 411 344846 0.0 0.0 0.1 0.0
  94. .*. Vec3 439 0 0.0 0.0 0.0 0.0
  95. vec3fromList Vec3 412 344846 0.1 0.0 0.1 0.0
  96. fmap Vec3 409 0 0.1 0.0 0.2 0.0
  97. distance.checkMin Main 410 1034538 0.0 0.0 0.0 0.0
  98. .-. Vec3 408 0 0.0 0.0 0.0 0.0
  99. fmap Vec3 405 344846 0.0 0.0 0.0 0.0
  100. .-. Vec3 404 344846 0.0 0.0 0.0 0.0
  101. changeVolume.combinations Main 392 434 0.3 0.4 7.7 11.6
  102. neighbours CellList 398 93547 0.4 0.4 6.1 10.1
  103. getCell CellList 401 2521959 0.5 0.0 0.5 0.0
  104. cellNeighbours CellList 399 93547 2.4 4.6 5.1 9.8
  105. cellNeighbours.temp CellList 400 2521959 2.7 5.1 2.7 5.1
  106. changeVolume.combinations.cllIdx Main 394 93547 0.0 0.0 1.3 1.0
  107. cellIndex CellList 395 93547 1.2 1.0 1.2 1.0
  108. cellIndex.posL CellList 396 93547 0.0 0.0 0.0 0.0
  109. vec3toList Vec3 397 93547 0.0 0.0 0.0 0.0
  110. changeVolume.combinations.particle Main 393 93547 0.0 0.0 0.0 0.0
  111. runSimulation.\.\.vol Main 382 909 0.0 0.0 0.0 0.0
  112. runSimulation.\.\.acc Main 380 909 0.0 0.0 0.0 0.0
  113. runSimulation.\.\.dv Main 379 909 0.0 0.0 0.0 0.0
  114. vec3fromList Vec3 278 432091 0.2 0.0 0.2 0.0
  115. moveParticle Main 258 432091 0.6 0.2 64.1 67.0
  116. moveParticle.cll' Main 358 175833 0.4 0.0 27.8 24.5
  117. cllInsertAt CellList 362 167916 0.1 0.1 13.5 12.2
  118. modifyVectorElement CellList 363 167916 13.5 12.2 13.5 12.2
  119. modifyVectorElement.\ CellList 364 167916 0.0 0.0 0.0 0.0
  120. cllRemoveAt CellList 359 167916 0.1 0.1 13.9 12.2
  121. modifyVectorElement CellList 360 167916 13.8 12.2 13.8 12.2
  122. modifyVectorElement.\ CellList 361 167916 0.0 0.0 0.0 0.0
  123. moveParticle.cllIdxOld Main 354 175833 0.1 0.0 2.3 1.9
  124. cellIndex CellList 355 175833 2.2 1.9 2.2 1.9
  125. cellIndex.posL CellList 356 175833 0.0 0.0 0.0 0.0
  126. vec3toList Vec3 357 175833 0.0 0.0 0.0 0.0
  127. moveParticle.particles' Main 351 175833 0.1 0.0 2.4 2.1
  128. modifyVectorElement CellList 352 175833 2.3 2.1 2.3 2.1
  129. modifyVectorElement.\ CellList 353 175833 0.0 0.0 0.0 0.0
  130. moveParticle.isCollision Main 317 432091 0.5 0.0 24.6 33.3
  131. checkCollision Main 324 1211170 0.6 0.0 2.3 0.1
  132. dot Vec3 348 1211170 0.0 0.0 0.0 0.0
  133. .*. Vec3 347 1211170 0.0 0.0 0.0 0.0
  134. distance Main 327 1211170 0.2 0.0 1.7 0.1
  135. dot Vec3 350 0 0.0 0.0 0.0 0.0
  136. distance.distVec Main 328 1211170 0.3 0.0 1.5 0.1
  137. changeCoords Main 344 1211170 0.1 0.0 0.5 0.1
  138. .*. Vec3 346 0 0.0 0.0 0.0 0.0
  139. vec3fromList Vec3 345 1211170 0.4 0.1 0.4 0.1
  140. fmap Vec3 330 0 0.5 0.0 0.7 0.0
  141. distance.checkMin Main 331 3633510 0.2 0.0 0.2 0.0
  142. .-. Vec3 329 0 0.0 0.0 0.0 0.0
  143. fmap Vec3 326 1211170 0.0 0.0 0.0 0.0
  144. .-. Vec3 325 1211170 0.0 0.0 0.0 0.0
  145. neighbours CellList 318 432091 1.5 1.2 21.7 33.1
  146. getCell CellList 323 8219769 1.6 0.0 1.6 0.0
  147. cellNeighbours CellList 319 432091 8.7 15.2 18.7 32.0
  148. cellNeighbours.temp CellList 322 8219769 9.9 16.8 9.9 16.8
  149. moveParticle.cllIdx Main 299 432091 0.2 0.1 5.5 4.7
  150. cellIndex CellList 314 432091 5.3 4.5 5.3 4.6
  151. cellIndex.posL CellList 315 432091 0.1 0.1 0.1 0.1
  152. vec3toList Vec3 316 432091 0.0 0.0 0.0 0.0
  153. moveParticle.particle Main 262 432091 0.1 0.0 0.1 0.0
  154. moveParticle.particle' Main 260 432091 0.5 0.3 0.8 0.3
  155. fmap Vec3 281 432091 0.3 0.0 0.3 0.0
  156. applyBC.applyBCsingle Main 282 1374008 0.0 0.0 0.0 0.0
  157. .+. Vec3 280 432091 0.0 0.0 0.0 0.0
  158. applyBC Main 261 432091 0.0 0.0 0.0 0.0
  159. runSimulation.\.\.\ Main 257 432091 0.2 0.2 0.2 0.2
  160. runSimulation.\.\ Main 256 1 3.9 3.2 3.9 3.2
  161. runSimulation.\.\.acc Main 381 0 0.0 0.0 0.0 0.0
  162. main.env Main 246 1 0.0 0.0 0.0 0.0
  163. runSimulation Main 245 1 0.0 0.0 0.0 0.0
  164. runSimulation.\ Main 377 0 0.0 0.0 0.0 0.0
  165. runSimulation.\.\ Main 378 0 0.0 0.0 0.0 0.0
  166. runSimulation.\.\.vol Main 389 0 0.0 0.0 0.0 0.0
  167. boxVolume Box 390 0 0.0 0.0 0.0 0.0
  168. CAF GHC.Integer.Logarithms.Internals 241 0 0.0 0.0 0.0 0.0
  169. CAF GHC.IO.Encoding.CodePage 229 0 0.0 0.0 0.0 0.0
  170. CAF System.CPUTime 226 0 0.0 0.0 0.0 0.0
  171. CAF GHC.Float.ConversionUtils 225 0 0.0 0.0 0.0 0.0
  172. CAF GHC.IO.FD 221 0 0.0 0.0 0.0 0.0
  173. CAF GHC.IO.Encoding 220 0 0.0 0.0 0.0 0.0
  174. CAF System.Environment 215 0 0.0 0.0 0.0 0.0
  175. CAF GHC.Float 213 0 0.0 0.0 0.0 0.0
  176. CAF GHC.Int 209 0 0.0 0.0 0.0 0.0
  177. CAF Data.Fixed 208 0 0.0 0.0 0.0 0.0
  178. CAF GHC.IO.Handle.FD 205 0 0.0 0.0 0.0 0.0
  179. CAF Data.ByteString.Char8 200 0 0.0 0.0 0.0 0.0
  180. CAF Data.Time.Clock.POSIX 198 0 0.0 0.0 0.0 0.0
  181. CAF System.Random 197 0 0.0 0.0 0.0 0.0
  182. CAF System.FilePath.Windows 196 0 0.0 0.0 0.0 0.0
  183. CAF:lvl8_r2ml CellList 186 0 0.0 0.0 0.0 0.0
  184. neighbours CellList 320 0 0.0 0.0 0.0 0.0
  185. cellNeighbours CellList 321 0 0.0 0.0 0.0 0.0
  186. CAF:main1 Main 164 0 0.0 0.0 0.0 0.0
  187. main Main 242 1 0.0 0.0 0.0 0.0
  188. CAF:main3 Main 163 0 0.0 0.0 0.0 0.0
  189. CAF:main4 Main 162 0 0.0 0.0 0.0 0.0
  190. CAF:a2_rahh Main 161 0 0.0 0.0 0.0 0.0
  191. runSimulation.\ Main 489 0 0.0 0.0 0.0 0.0
  192. printConfig Main 490 0 0.0 0.0 0.0 0.0
  193. configToString Main 491 0 0.0 0.0 0.0 0.0
  194. configToString.particlesToString Main 492 0 0.0 0.0 0.0 0.0
  195. configToString.vec3ToString Main 493 0 0.0 0.0 0.0 0.0
  196. CAF:lvl47_rahg Main 160 0 0.0 0.0 0.0 0.0
  197. runSimulation.\ Main 474 0 0.0 0.0 0.0 0.0
  198. CAF:lvl29_ragS Main 151 0 0.0 0.0 0.0 0.0
  199. main Main 477 0 0.0 0.0 0.0 0.0
  200. runSimulation Main 478 0 0.0 0.0 0.0 0.0
  201. runSimulation.\ Main 479 0 0.0 0.0 0.0 0.0
  202. printConfig Main 480 0 0.0 0.0 0.0 0.0
  203. configToString Main 481 0 0.0 0.0 0.0 0.0
  204. configToString.boxToString Main 482 0 0.0 0.0 0.0 0.0
  205. CAF:lvl28_ragR Main 150 0 0.0 0.0 0.0 0.0
  206. main Main 464 0 0.0 0.0 0.0 0.0
  207. runSimulation Main 465 0 0.0 0.0 0.0 0.0
  208. runSimulation.\ Main 466 0 0.0 0.0 0.0 0.0
  209. CAF:lvl27_ragQ Main 149 0 0.0 0.0 0.0 0.0
  210. CAF:lvl24_ragM Main 147 0 0.0 0.0 0.0 0.0
  211. CAF:lvl22_ragK Main 146 0 0.0 0.0 0.0 0.0
  212. main Main 365 0 0.0 0.0 0.0 0.0
  213. runSimulation Main 366 0 0.0 0.0 0.0 0.0
  214. runSimulation.\ Main 367 0 0.0 0.0 0.0 0.0
  215. runSimulation.\.\ Main 368 0 0.0 0.0 0.0 0.0
  216. moveParticle Main 369 0 0.0 0.0 0.0 0.0
  217. moveParticle.particle' Main 370 0 0.0 0.0 0.0 0.0
  218. applyBC Main 371 0 0.0 0.0 0.0 0.0
  219. applyBC.applyBCsingle Main 372 0 0.0 0.0 0.0 0.0
  220. CAF:lvl21_ragJ Main 145 0 0.0 0.0 0.0 0.0
  221. main Main 283 0 0.0 0.0 0.0 0.0
  222. runSimulation Main 284 0 0.0 0.0 0.0 0.0
  223. runSimulation.\ Main 285 0 0.0 0.0 0.0 0.0
  224. runSimulation.\.\ Main 286 0 0.0 0.0 0.0 0.0
  225. moveParticle Main 287 0 0.0 0.0 0.0 0.0
  226. moveParticle.particle' Main 288 0 0.0 0.0 0.0 0.0
  227. applyBC Main 289 0 0.0 0.0 0.0 0.0
  228. applyBC.applyBCsingle Main 290 0 0.0 0.0 0.0 0.0
  229. CAF:ds1_ragF Main 144 0 0.0 0.0 0.0 0.0
  230. main Main 456 0 0.0 0.0 0.0 0.0
  231. runSimulation Main 457 0 0.0 0.0 0.0 0.0
  232. runSimulation.\ Main 458 0 0.0 0.0 0.0 0.0
  233. runSimulation.\.\ Main 459 0 0.0 0.0 0.0 0.0
  234. changeVolume Main 460 0 0.0 0.0 0.0 0.0
  235. changeVolume.recreate Main 461 0 0.0 0.0 0.0 0.0
  236. CAF:ds_ragD Main 143 0 0.0 0.0 0.0 0.0
  237. main Main 450 0 0.0 0.0 0.0 0.0
  238. runSimulation Main 451 0 0.0 0.0 0.0 0.0
  239. runSimulation.\ Main 452 0 0.0 0.0 0.0 0.0
  240. runSimulation.\.\ Main 453 0 0.0 0.0 0.0 0.0
  241. changeVolume Main 454 0 0.0 0.0 0.0 0.0
  242. changeVolume.recreate Main 455 0 0.0 0.0 0.0 0.0
  243. CAF:lvl15_ragB Main 142 0 0.0 0.0 0.0 0.0
  244. main Main 418 0 0.0 0.0 0.0 0.0
  245. runSimulation Main 419 0 0.0 0.0 0.0 0.0
  246. runSimulation.\ Main 420 0 0.0 0.0 0.0 0.0
  247. runSimulation.\.\ Main 421 0 0.0 0.0 0.0 0.0
  248. changeVolume Main 422 0 0.0 0.0 0.0 0.0
  249. changeVolume.box' Main 423 0 0.0 0.0 0.0 0.0
  250. changeVolume.box'.scalef Main 424 0 0.0 0.0 0.0 0.0
  251. CAF:lvl14_ragA Main 141 0 0.0 0.0 0.0 0.0
  252. main Main 432 0 0.0 0.0 0.0 0.0
  253. runSimulation Main 433 0 0.0 0.0 0.0 0.0
  254. runSimulation.\ Main 434 0 0.0 0.0 0.0 0.0
  255. runSimulation.\.\ Main 435 0 0.0 0.0 0.0 0.0
  256. changeVolume Main 436 0 0.0 0.0 0.0 0.0
  257. changeVolume.box' Main 437 0 0.0 0.0 0.0 0.0
  258. changeVolume.box'.scalef Main 438 0 0.0 0.0 0.0 0.0
  259. CAF:lvl12_ragy Main 140 0 0.0 0.0 0.0 0.0
  260. main Main 425 0 0.0 0.0 0.0 0.0
  261. runSimulation Main 426 0 0.0 0.0 0.0 0.0
  262. runSimulation.\ Main 427 0 0.0 0.0 0.0 0.0
  263. runSimulation.\.\ Main 428 0 0.0 0.0 0.0 0.0
  264. changeVolume Main 429 0 0.0 0.0 0.0 0.0
  265. changeVolume.box' Main 430 0 0.0 0.0 0.0 0.0
  266. changeVolume.box'.scalef Main 431 0 0.0 0.0 0.0 0.0
  267. CAF:lvl11_ragx Main 139 0 0.0 0.0 0.0 0.0
  268. main Main 383 0 0.0 0.0 0.0 0.0
  269. runSimulation Main 384 0 0.0 0.0 0.0 0.0
  270. runSimulation.\ Main 385 0 0.0 0.0 0.0 0.0
  271. runSimulation.\.\ Main 386 0 0.0 0.0 0.0 0.0
  272. runSimulation.\.\.vol Main 387 0 0.0 0.0 0.0 0.0
  273. boxVolume Box 388 1 0.0 0.0 0.0 0.0
  274. CAF:lvl9_ragv Main 138 0 0.0 0.0 0.0 0.0
  275. main Main 247 0 0.0 0.0 0.0 0.0
  276. runSimulation Main 248 0 0.0 0.0 0.0 0.0
  277. CAF:main5 Main 137 0 0.0 0.0 0.0 0.0
  278. main Main 244 0 0.0 0.0 0.0 0.0
  279. CAF:lvl8_ragu Main 134 0 0.0 0.0 0.0 0.0
  280. CAF:lvl7_ragr Main 133 0 0.0 0.0 0.0 0.0
  281. checkCollision Main 349 0 0.0 0.0 0.0 0.0
  282. CAF:lvl6_ragp Main 132 0 0.0 0.0 0.0 0.0
  283. checkCollision Main 332 0 0.0 0.0 0.0 0.0
  284. distance Main 333 0 0.0 0.0 0.0 0.0
  285. distance.distVec Main 334 0 0.0 0.0 0.0 0.0
  286. distance.checkMin Main 335 0 0.0 0.0 0.0 0.0
  287. CAF:lvl5_rago Main 131 0 0.0 0.0 0.0 0.0
  288. checkCollision Main 443 0 0.0 0.0 0.0 0.0
  289. distance Main 444 0 0.0 0.0 0.0 0.0
  290. distance.distVec Main 445 0 0.0 0.0 0.0 0.0
  291. distance.checkMin Main 446 0 0.0 0.0 0.0 0.0
  292. CAF:lvl4_ragn Main 130 0 0.0 0.0 0.0 0.0
  293. checkCollision Main 336 0 0.0 0.0 0.0 0.0
  294. distance Main 337 0 0.0 0.0 0.0 0.0
  295. distance.distVec Main 338 0 0.0 0.0 0.0 0.0
  296. distance.checkMin Main 339 0 0.0 0.0 0.0 0.0
  297. CAF:lvl3_ragm Main 129 0 0.0 0.0 0.0 0.0
  298. checkCollision Main 340 0 0.0 0.0 0.0 0.0
  299. distance Main 341 0 0.0 0.0 0.0 0.0
  300. distance.distVec Main 342 0 0.0 0.0 0.0 0.0
  301. distance.checkMin Main 343 0 0.0 0.0 0.0 0.0
  302. CAF:lvl1_ragk Main 128 0 0.0 0.0 0.0 0.0
  303. checkCollision Main 373 0 0.0 0.0 0.0 0.0
  304. distance Main 374 0 0.0 0.0 0.0 0.0
  305. distance.distVec Main 375 0 0.0 0.0 0.0 0.0
  306. distance.checkMin Main 376 0 0.0 0.0 0.0 0.0
  307. main Main 494 0 0.0 0.0 0.0 0.0
  308. runSimulation.\ Main 495 0 0.0 0.0 0.0 0.0
  309. printConfig Main 496 0 0.0 0.0 0.0 0.0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement