pyPhotoAlbum/cov_info/htmlcov/function_index.html
2026-06-20 12:55:58 +00:00

9152 lines
539 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Coverage report</title>
<link rel="icon" sizes="32x32" href="favicon_32_cb_c827f16f.png">
<link rel="stylesheet" href="style_cb_4667309f.css" type="text/css">
<script src="coverage_html_cb_dd2e7eb5.js" defer></script>
</head>
<body class="indexfile">
<header>
<div class="content">
<h1>Coverage report:
<span class="pc_cov">73%</span>
</h1>
<aside id="help_panel_wrapper">
<input id="help_panel_state" type="checkbox">
<label for="help_panel_state">
<img id="keyboard_icon" src="keybd_closed_cb_900cfef5.png" alt="Show/hide keyboard shortcuts">
</label>
<div id="help_panel">
<p class="legend">Shortcuts on this page</p>
<div class="keyhelp">
<p>
<kbd>f</kbd>
<kbd>n</kbd>
<kbd>s</kbd>
<kbd>m</kbd>
<kbd>x</kbd>
<kbd>c</kbd>
&nbsp; change column sorting
</p>
<p>
<kbd>[</kbd>
<kbd>]</kbd>
&nbsp; prev/next file
</p>
<p>
<kbd>?</kbd> &nbsp; show/hide this help
</p>
</div>
</div>
</aside>
<form id="filter_container">
<input id="filter" type="text" value="" placeholder="filter...">
<div>
<input id="hide100" type="checkbox" >
<label for="hide100">hide covered</label>
</div>
</form>
<h2>
<a class="button" href="index.html">Files</a>
<a class="button current">Functions</a>
<a class="button" href="class_index.html">Classes</a>
</h2>
<p class="text">
<a class="nav" href="https://coverage.readthedocs.io/en/7.14.1">coverage.py v7.14.1</a>,
created at 2026-06-20 12:55 +0000
</p>
</div>
</header>
<main id="index">
<table class="index" data-sortable>
<thead>
<tr class="tablehead" title="Click to sort">
<th id="file" class="name" aria-sort="none" data-shortcut="f">File<span class="arrows"></span></th>
<th id="region" class="name" aria-sort="none" data-default-sort-order="ascending" data-shortcut="n">function<span class="arrows"></span></th>
<th class="spacer">&nbsp;</th>
<th id="statements" aria-sort="none" data-default-sort-order="descending" data-shortcut="s">statements<span class="arrows"></span></th>
<th id="missing" aria-sort="none" data-default-sort-order="descending" data-shortcut="m">missing<span class="arrows"></span></th>
<th id="excluded" aria-sort="none" data-default-sort-order="descending" data-shortcut="x">excluded<span class="arrows"></span></th>
<th class="spacer">&nbsp;</th>
<th id="coverage" aria-sort="none" data-shortcut="c">coverage<span class="arrows"></span></th>
</tr>
</thead>
<tbody>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391___init___py.html">pyPhotoAlbum<span class="sep">/</span>__init__.py</a></td>
<td class="name"><a href="z_92dc0df82e175391___init___py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t15">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t15"><data value='init__'>ElementMaximizer.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t30">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t30"><data value='record_initial_states'>ElementMaximizer._record_initial_states</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t35">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t35"><data value='check_collision'>ElementMaximizer.check_collision</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 19">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t79">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t79"><data value='find_max_scale'>ElementMaximizer.find_max_scale</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t121">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t121"><data value='grow_iteration'>ElementMaximizer.grow_iteration</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t155">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t155"><data value='check_element_collision'>ElementMaximizer.check_element_collision</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t184">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t184"><data value='center_element_horizontally'>ElementMaximizer.center_element_horizontally</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t209">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t209"><data value='center_element_vertically'>ElementMaximizer.center_element_vertically</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t234">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t234"><data value='center_elements'>ElementMaximizer.center_elements</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t240">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t240"><data value='maximize'>ElementMaximizer.maximize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t270">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t270"><data value='get_bounds'>AlignmentManager.get_bounds</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t288">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t288"><data value='align_left'>AlignmentManager.align_left</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t309">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t309"><data value='align_right'>AlignmentManager.align_right</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 10">90%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t331">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t331"><data value='align_top'>AlignmentManager.align_top</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 9">89%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t352">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t352"><data value='align_bottom'>AlignmentManager.align_bottom</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 10">90%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t374">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t374"><data value='align_horizontal_center'>AlignmentManager.align_horizontal_center</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 11">91%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t400">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t400"><data value='align_vertical_center'>AlignmentManager.align_vertical_center</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 11">91%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t424">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t424"><data value='make_same_size'>AlignmentManager.make_same_size</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t448">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t448"><data value='make_same_width'>AlignmentManager.make_same_width</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 10">90%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t472">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t472"><data value='make_same_height'>AlignmentManager.make_same_height</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 10">90%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t496">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t496"><data value='distribute_horizontally'>AlignmentManager.distribute_horizontally</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t529">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t529"><data value='distribute_vertically'>AlignmentManager.distribute_vertically</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 14">93%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t560">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t560"><data value='space_horizontally'>AlignmentManager.space_horizontally</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t596">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t596"><data value='space_vertically'>AlignmentManager.space_vertically</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 16">94%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t632">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t632"><data value='fit_to_page_width'>AlignmentManager.fit_to_page_width</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 7">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t659">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t659"><data value='fit_to_page_height'>AlignmentManager.fit_to_page_height</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 7">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t686">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t686"><data value='fit_to_page'>AlignmentManager.fit_to_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>11</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 11">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t722">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t722"><data value='maximize_pattern'>AlignmentManager.maximize_pattern</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t750">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html#t750"><data value='expand_to_bounds'>AlignmentManager.expand_to_bounds</data></a></td>
<td class="spacer">&nbsp;</td>
<td>55</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="55 55">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html">pyPhotoAlbum<span class="sep">/</span>alignment.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_alignment_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>52</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="52 52">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t26">pyPhotoAlbum<span class="sep">/</span>asset_heal_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t26"><data value='init__'>AssetHealDialog.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t38">pyPhotoAlbum<span class="sep">/</span>asset_heal_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t38"><data value='init_ui'>AssetHealDialog._init_ui</data></a></td>
<td class="spacer">&nbsp;</td>
<td>30</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="30 30">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t88">pyPhotoAlbum<span class="sep">/</span>asset_heal_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t88"><data value='scan_missing_assets'>AssetHealDialog._scan_missing_assets</data></a></td>
<td class="spacer">&nbsp;</td>
<td>27</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="27 27">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t131">pyPhotoAlbum<span class="sep">/</span>asset_heal_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t131"><data value='add_search_path'>AssetHealDialog._add_search_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t142">pyPhotoAlbum<span class="sep">/</span>asset_heal_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t142"><data value='remove_search_path'>AssetHealDialog._remove_search_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t149">pyPhotoAlbum<span class="sep">/</span>asset_heal_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html#t149"><data value='attempt_healing'>AssetHealDialog._attempt_healing</data></a></td>
<td class="spacer">&nbsp;</td>
<td>68</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="68 68">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html">pyPhotoAlbum<span class="sep">/</span>asset_heal_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_heal_dialog_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t12">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t12"><data value='compute_file_md5'>compute_file_md5</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 11">73%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t39">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t39"><data value='init__'>AssetManager.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t54">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t54"><data value='import_asset'>AssetManager.import_asset</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 16">94%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t95">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t95"><data value='acquire_reference'>AssetManager.acquire_reference</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 10">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t117">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t117"><data value='release_reference'>AssetManager.release_reference</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>16</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 16">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t146">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t146"><data value='get_absolute_path'>AssetManager.get_absolute_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t158">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t158"><data value='get_reference_count'>AssetManager.get_reference_count</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t170">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t170"><data value='serialize'>AssetManager.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t177">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t177"><data value='deserialize'>AssetManager.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t183">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t183"><data value='compute_asset_hash'>AssetManager.compute_asset_hash</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t199">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t199"><data value='compute_all_hashes'>AssetManager.compute_all_hashes</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 12">92%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t222">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t222"><data value='find_duplicates'>AssetManager.find_duplicates</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t250">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t250"><data value='deduplicate_assets'>AssetManager.deduplicate_assets</data></a></td>
<td class="spacer">&nbsp;</td>
<td>35</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 35">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t314">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t314"><data value='get_duplicate_stats'>AssetManager.get_duplicate_stats</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 14">86%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t341">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t341"><data value='find_unused_assets'>AssetManager.find_unused_assets</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 13">92%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t369">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t369"><data value='get_unused_stats'>AssetManager.get_unused_stats</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 11">82%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t390">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html#t390"><data value='remove_unused_assets'>AssetManager.remove_unused_assets</data></a></td>
<td class="spacer">&nbsp;</td>
<td>26</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 26">85%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html">pyPhotoAlbum<span class="sep">/</span>asset_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_asset_manager_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="23 23">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t39">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t39"><data value='get_image_dimensions'>get_image_dimensions</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t96">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t96"><data value='init__'>ImageCache.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t110">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t110"><data value='estimate_image_size'>ImageCache._estimate_image_size</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t118">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t118"><data value='make_key'>ImageCache._make_key</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t124">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t124"><data value='get'>ImageCache.get</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t148">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t148"><data value='put'>ImageCache.put</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t183">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t183"><data value='clear'>ImageCache.clear</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t190">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t190"><data value='get_stats'>ImageCache.get_stats</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t219">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t219"><data value='init__'>AsyncImageLoader.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t247">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t247"><data value='start'>AsyncImageLoader.start</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t260">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t260"><data value='stop'>AsyncImageLoader.stop</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 15">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t289">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t289"><data value='run_event_loop'>AsyncImageLoader._run_event_loop</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t306">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t306"><data value='process_queue'>AsyncImageLoader._process_queue</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 13">85%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t330">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t330"><data value='cancel_all_tasks'>AsyncImageLoader._cancel_all_tasks</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 7">71%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t342">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t342"><data value='load_image'>AsyncImageLoader._load_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>27</td>
<td>27</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 27">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t397">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t397"><data value='load_and_process_image'>AsyncImageLoader._load_and_process_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t421">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t421"><data value='emit_loaded'>AsyncImageLoader._emit_loaded</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 6">50%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t432">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t432"><data value='emit_failed'>AsyncImageLoader._emit_failed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 6">50%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t443">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t443"><data value='request_load'>AsyncImageLoader.request_load</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t494">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t494"><data value='cancel_load'>AsyncImageLoader.cancel_load</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 12">67%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t522">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t522"><data value='get_stats'>AsyncImageLoader.get_stats</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t552">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t552"><data value='init__'>AsyncPDFGenerator.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t578">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t578"><data value='start'>AsyncPDFGenerator.start</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t591">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t591"><data value='stop'>AsyncPDFGenerator.stop</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 12">92%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t616">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t616"><data value='run_event_loop'>AsyncPDFGenerator._run_event_loop</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t627">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t627"><data value='export_pdf'>AsyncPDFGenerator.export_pdf</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 11">64%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t658">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t658"><data value='cancel_export'>AsyncPDFGenerator.cancel_export</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t666">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t666"><data value='export_pdf_async'>AsyncPDFGenerator._export_pdf_async</data></a></td>
<td class="spacer">&nbsp;</td>
<td>29</td>
<td>29</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 29">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t683">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t683"><data value='progress_callback'>AsyncPDFGenerator._export_pdf_async.progress_callback</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 8">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t730">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t730"><data value='export_with_cache'>AsyncPDFGenerator._export_with_cache</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t748">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t748"><data value='cached_open'>AsyncPDFGenerator._export_with_cache.cached_open</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>12</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 12">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t778">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t778"><data value='is_exporting'>AsyncPDFGenerator.is_exporting</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t783">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html#t783"><data value='get_stats'>AsyncPDFGenerator.get_stats</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html">pyPhotoAlbum<span class="sep">/</span>async_backend.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_backend_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>66</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="66 66">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html#t39">pyPhotoAlbum<span class="sep">/</span>async_project_loader.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html#t39"><data value='init__'>AsyncProjectLoader.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 4">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html#t45">pyPhotoAlbum<span class="sep">/</span>async_project_loader.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html#t45"><data value='cancel'>AsyncProjectLoader.cancel</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html#t49">pyPhotoAlbum<span class="sep">/</span>async_project_loader.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html#t49"><data value='run'>AsyncProjectLoader.run</data></a></td>
<td class="spacer">&nbsp;</td>
<td>75</td>
<td>75</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 75">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html#t185">pyPhotoAlbum<span class="sep">/</span>async_project_loader.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html#t185"><data value='normalize_asset_paths'>AsyncProjectLoader._normalize_asset_paths</data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>23</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 23">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html#t222">pyPhotoAlbum<span class="sep">/</span>async_project_loader.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html#t222"><data value='load_from_zip_async'>load_from_zip_async</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>9</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 9">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html">pyPhotoAlbum<span class="sep">/</span>async_project_loader.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_async_project_loader_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 19">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t24">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t24"><data value='init__'>AutosaveManager.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t28">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t28"><data value='ensure_checkpoint_directory'>AutosaveManager._ensure_checkpoint_directory</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t32">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t32"><data value='get_checkpoint_path'>AutosaveManager._get_checkpoint_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t53">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t53"><data value='create_checkpoint'>AutosaveManager.create_checkpoint</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t77">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t77"><data value='save_checkpoint_metadata'>AutosaveManager._save_checkpoint_metadata</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t96">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t96"><data value='list_checkpoints'>AutosaveManager.list_checkpoints</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 14">86%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t128">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t128"><data value='load_checkpoint'>AutosaveManager.load_checkpoint</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t144">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t144"><data value='delete_checkpoint'>AutosaveManager.delete_checkpoint</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 10">70%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t169">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t169"><data value='delete_all_checkpoints'>AutosaveManager.delete_all_checkpoints</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t180">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t180"><data value='cleanup_old_checkpoints'>AutosaveManager.cleanup_old_checkpoints</data></a></td>
<td class="spacer">&nbsp;</td>
<td>22</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="20 22">91%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t220">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t220"><data value='has_checkpoints'>AutosaveManager.has_checkpoints</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t232">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html#t232"><data value='get_latest_checkpoint'>AutosaveManager.get_latest_checkpoint</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html">pyPhotoAlbum<span class="sep">/</span>autosave_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_autosave_manager_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="23 23">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t11">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t11"><data value='normalize_asset_path'>_normalize_asset_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t30">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t30"><data value='deserialize_element'>_deserialize_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 10">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t63">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t63"><data value='execute'>Command.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t68">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t68"><data value='undo'>Command.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t73">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t73"><data value='redo'>Command.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t78">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t78"><data value='serialize'>Command.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t84">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t84"><data value='deserialize'>Command.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t92">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t92"><data value='init__'>AddElementCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t103">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t103"><data value='execute'>AddElementCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t109">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t109"><data value='undo'>AddElementCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t115">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t115"><data value='redo'>AddElementCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t119">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t119"><data value='serialize'>AddElementCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t124">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t124"><data value='deserialize'>AddElementCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t136">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t136"><data value='init__'>DeleteElementCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 7">86%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t147">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t147"><data value='execute'>DeleteElementCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t153">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t153"><data value='undo'>DeleteElementCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t159">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t159"><data value='redo'>DeleteElementCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t163">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t163"><data value='serialize'>DeleteElementCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t168">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t168"><data value='deserialize'>DeleteElementCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t179">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t179"><data value='init__'>MoveElementCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t184">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t184"><data value='execute'>MoveElementCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t188">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t188"><data value='undo'>MoveElementCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t192">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t192"><data value='redo'>MoveElementCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t196">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t196"><data value='serialize'>MoveElementCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t206">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t206"><data value='deserialize'>MoveElementCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t215">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t215"><data value='init__'>ResizeElementCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t224">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t224"><data value='execute'>ResizeElementCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t229">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t229"><data value='undo'>ResizeElementCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t234">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t234"><data value='redo'>ResizeElementCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t238">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t238"><data value='serialize'>ResizeElementCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t250">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t250"><data value='deserialize'>ResizeElementCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t265">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t265"><data value='init__'>RotateElementCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t280">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t280"><data value='execute'>RotateElementCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>30</td>
<td>11</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 30">63%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t331">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t331"><data value='undo'>RotateElementCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 9">78%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t347">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t347"><data value='redo'>RotateElementCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t351">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t351"><data value='serialize'>RotateElementCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t361">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t361"><data value='deserialize'>RotateElementCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t370">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t370"><data value='init__'>AdjustImageCropCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t375">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t375"><data value='execute'>AdjustImageCropCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t379">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t379"><data value='undo'>AdjustImageCropCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t383">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t383"><data value='redo'>AdjustImageCropCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t387">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t387"><data value='serialize'>AdjustImageCropCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t397">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t397"><data value='deserialize'>AdjustImageCropCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t409">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t409"><data value='init__'>AlignElementsCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t416">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t416"><data value='execute'>AlignElementsCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t420">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t420"><data value='undo'>AlignElementsCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t425">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t425"><data value='redo'>AlignElementsCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t435">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t435"><data value='serialize'>AlignElementsCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t443">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t443"><data value='deserialize'>AlignElementsCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 9">78%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t459">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t459"><data value='init__'>ResizeElementsCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t467">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t467"><data value='execute'>ResizeElementsCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t471">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t471"><data value='undo'>ResizeElementsCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t477">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t477"><data value='redo'>ResizeElementsCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t483">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t483"><data value='serialize'>ResizeElementsCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t494">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t494"><data value='deserialize'>ResizeElementsCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 10">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t511">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t511"><data value='init__'>ChangeZOrderCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t517">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t517"><data value='execute'>ChangeZOrderCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t524">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t524"><data value='undo'>ChangeZOrderCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t531">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t531"><data value='redo'>ChangeZOrderCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t535">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t535"><data value='serialize'>ChangeZOrderCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t545">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t545"><data value='deserialize'>ChangeZOrderCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t561">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t561"><data value='init__'>StateChangeCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t574">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t574"><data value='execute'>StateChangeCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t579">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t579"><data value='undo'>StateChangeCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t583">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t583"><data value='redo'>StateChangeCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t587">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t587"><data value='serialize'>StateChangeCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t594">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t594"><data value='deserialize'>StateChangeCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t603">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t603"><data value='init__'>CommandHistory.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t610">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t610"><data value='execute'>CommandHistory.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 10">90%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t630">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t630"><data value='release_command_assets'>CommandHistory._release_command_assets</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 8">25%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t644">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t644"><data value='undo'>CommandHistory.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 8">88%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t659">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t659"><data value='redo'>CommandHistory.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 8">88%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t674">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t674"><data value='can_undo'>CommandHistory.can_undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t678">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t678"><data value='can_redo'>CommandHistory.can_redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t682">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t682"><data value='clear'>CommandHistory.clear</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 6">83%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t693">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t693"><data value='serialize'>CommandHistory.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t701">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t701"><data value='deserialize'>CommandHistory.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t723">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t723"><data value='fixup_page_layout'>CommandHistory._fixup_page_layout</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 10">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t760">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html#t760"><data value='deserialize_command'>CommandHistory._deserialize_command</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 12">92%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_commands_py.html">pyPhotoAlbum<span class="sep">/</span>commands.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_commands_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>101</td>
<td>0</td>
<td>11</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="101 101">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t30">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t30"><data value='init__'>RibbonAction.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t66">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t66"><data value='call__'>RibbonAction.__call__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t78">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t78"><data value='wrapper'>RibbonAction.__call__.wrapper</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t98">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t98"><data value='ribbon_action'>ribbon_action</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t159">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t159"><data value='init__'>NumericalInput.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t169">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t169"><data value='call__'>NumericalInput.__call__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t181">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t181"><data value='wrapper'>NumericalInput.__call__.wrapper</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t190">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t190"><data value='numerical_input'>numerical_input</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t221">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t221"><data value='init__'>UndoableOperation.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t234">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t234"><data value='call__'>UndoableOperation.__call__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t246">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t246"><data value='wrapper'>UndoableOperation.__call__.wrapper</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t260">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t260"><data value='restore_state'>UndoableOperation.__call__.wrapper.restore_state</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t279">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t279"><data value='capture_state'>UndoableOperation._capture_state</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 6">83%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t291">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t291"><data value='restore_state'>UndoableOperation._restore_state</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>16</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 16">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t319">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t319"><data value='undoable_operation'>undoable_operation</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t350">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t350"><data value='init__'>DialogAction.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t361">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t361"><data value='call__'>DialogAction.__call__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t373">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t373"><data value='wrapper'>DialogAction.__call__.wrapper</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 14">86%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t408">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html#t408"><data value='dialog_action'>dialog_action</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html">pyPhotoAlbum<span class="sep">/</span>decorators.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_decorators_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>21</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="21 21">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516___init___py.html">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>__init__.py</a></td>
<td class="name"><a href="z_9805201c082d6516___init___py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t33">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t33"><data value='init__'>FramePreviewWidget.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t41">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t41"><data value='paintEvent'>FramePreviewWidget.paintEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>29</td>
<td>29</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 29">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t96">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t96"><data value='mousePressEvent'>FramePreviewWidget.mousePressEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t99">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t99"><data value='set_selected'>FramePreviewWidget.set_selected</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t107">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t107"><data value='init__'>FramePickerDialog.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 8">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t125">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t125"><data value='setup_ui'>FramePickerDialog._setup_ui</data></a></td>
<td class="spacer">&nbsp;</td>
<td>65</td>
<td>65</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 65">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t229">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t229"><data value='create_category_tab'>FramePickerDialog._create_category_tab</data></a></td>
<td class="spacer">&nbsp;</td>
<td>29</td>
<td>29</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 29">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t275">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t275"><data value='on_frame_clicked'>FramePickerDialog._on_frame_clicked</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 7">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t289">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t289"><data value='clear_selection'>FramePickerDialog._clear_selection</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 5">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t297">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t297"><data value='update_selection_display'>FramePickerDialog._update_selection_display</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t308">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t308"><data value='update_corners'>FramePickerDialog._update_corners</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t317">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t317"><data value='update_corners_visibility'>FramePickerDialog._update_corners_visibility</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t326">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t326"><data value='select_all_corners'>FramePickerDialog._select_all_corners</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 5">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t334">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t334"><data value='select_no_corners'>FramePickerDialog._select_no_corners</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 5">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t342">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t342"><data value='select_diagonal_corners'>FramePickerDialog._select_diagonal_corners</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 5">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t350">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html#t350"><data value='get_values'>FramePickerDialog.get_values</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>frame_picker_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_frame_picker_dialog_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>24</td>
<td>24</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 24">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t35">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t35"><data value='init__'>PageSetupDialog.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t52">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t52"><data value='setup_ui'>PageSetupDialog._setup_ui</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t81">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t81"><data value='create_page_selection_group'>PageSetupDialog._create_page_selection_group</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t105">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t105"><data value='create_cover_settings_group'>PageSetupDialog._create_cover_settings_group</data></a></td>
<td class="spacer">&nbsp;</td>
<td>31</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="31 31">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t148">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t148"><data value='create_page_size_group'>PageSetupDialog._create_page_size_group</data></a></td>
<td class="spacer">&nbsp;</td>
<td>31</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="31 31">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t192">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t192"><data value='create_dpi_settings_group'>PageSetupDialog._create_dpi_settings_group</data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t218">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t218"><data value='create_button_layout'>PageSetupDialog._create_button_layout</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t235">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t235"><data value='connect_signals'>PageSetupDialog._connect_signals</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t242">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t242"><data value='initialize_values'>PageSetupDialog._initialize_values</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t251">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t251"><data value='on_page_changed'>PageSetupDialog._on_page_changed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>22</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 22">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t297">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t297"><data value='update_spine_info'>PageSetupDialog._update_spine_info</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t319">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html#t319"><data value='get_values'>PageSetupDialog.get_values</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>page_setup_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_page_setup_dialog_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>17</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_print_settings_dialog_py.html#t23">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>print_settings_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_print_settings_dialog_py.html#t23"><data value='init__'>PrintSettingsDialog.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_print_settings_dialog_py.html#t28">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>print_settings_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_print_settings_dialog_py.html#t28"><data value='setup_ui'>PrintSettingsDialog._setup_ui</data></a></td>
<td class="spacer">&nbsp;</td>
<td>40</td>
<td>40</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 40">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_print_settings_dialog_py.html#t86">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>print_settings_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_print_settings_dialog_py.html#t86"><data value='get_values'>PrintSettingsDialog.get_values</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_print_settings_dialog_py.html">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>print_settings_dialog.py</a></td>
<td class="name"><a href="z_9805201c082d6516_print_settings_dialog_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t33">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t33"><data value='init__'>CornerRadiusDialog.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>31</td>
<td>31</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 31">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t76">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t76"><data value='on_slider_changed'>CornerRadiusDialog._on_slider_changed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t79">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t79"><data value='get_value'>CornerRadiusDialog.get_value</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t86">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t86"><data value='init__'>ColorButton.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 5">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t93">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t93"><data value='update_style'>ColorButton._update_style</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t97">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t97"><data value='pick_color'>ColorButton._pick_color</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t105">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t105"><data value='get_color'>ColorButton.get_color</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t112">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t112"><data value='init__'>BorderDialog.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>35</td>
<td>35</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 35">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t168">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t168"><data value='apply_preset'>BorderDialog._apply_preset</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t173">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t173"><data value='get_values'>BorderDialog.get_values</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t180">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t180"><data value='init__'>ShadowDialog.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>63</td>
<td>63</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 63">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t277">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t277"><data value='update_controls'>ShadowDialog._update_controls</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t280">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t280"><data value='apply_preset'>ShadowDialog._apply_preset</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 7">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t289">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html#t289"><data value='get_values'>ShadowDialog.get_values</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html">pyPhotoAlbum<span class="sep">/</span>dialogs<span class="sep">/</span>style_dialogs.py</a></td>
<td class="name"><a href="z_9805201c082d6516_style_dialogs_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>22</td>
<td>22</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 22">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t80">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t80"><data value='init__'>FrameManager.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t85">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t85"><data value='get_frames_directory'>FrameManager._get_frames_directory</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t90">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t90"><data value='load_bundled_frames'>FrameManager._load_bundled_frames</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t236">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t236"><data value='register_frame'>FrameManager._register_frame</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t240">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t240"><data value='get_frame'>FrameManager.get_frame</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t244">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t244"><data value='get_frames_by_category'>FrameManager.get_frames_by_category</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t248">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t248"><data value='get_all_frames'>FrameManager.get_all_frames</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t252">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t252"><data value='get_frame_names'>FrameManager.get_frame_names</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t256">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t256"><data value='load_svg_as_image'>FrameManager._load_svg_as_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>31</td>
<td>31</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 31">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t329">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t329"><data value='recolor_svg'>FrameManager._recolor_svg</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 8">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t377">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t377"><data value='get_corner_image'>FrameManager._get_corner_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>16</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 16">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t415">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t415"><data value='render_frame_opengl'>FrameManager.render_frame_opengl</data></a></td>
<td class="spacer">&nbsp;</td>
<td>22</td>
<td>22</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 22">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t490">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t490"><data value='render_svg_corners_gl'>FrameManager._render_svg_corners_gl</data></a></td>
<td class="spacer">&nbsp;</td>
<td>38</td>
<td>38</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 38">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t565">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t565"><data value='draw_corner_quad'>FrameManager._render_svg_corners_gl.draw_corner_quad</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>12</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 12">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t597">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t597"><data value='get_flips'>FrameManager._render_svg_corners_gl.get_flips</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 5">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t628">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t628"><data value='render_corner_frame_gl'>FrameManager._render_corner_frame_gl</data></a></td>
<td class="spacer">&nbsp;</td>
<td>31</td>
<td>31</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 31">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t685">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t685"><data value='render_decorative_swirls_gl'>FrameManager._render_decorative_swirls_gl</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>16</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 16">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t721">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t721"><data value='render_full_frame_gl'>FrameManager._render_full_frame_gl</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>15</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 15">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t742">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t742"><data value='render_frame_pdf'>FrameManager.render_frame_pdf</data></a></td>
<td class="spacer">&nbsp;</td>
<td>21</td>
<td>21</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 21">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t799">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t799"><data value='render_svg_corners_pdf'>FrameManager._render_svg_corners_pdf</data></a></td>
<td class="spacer">&nbsp;</td>
<td>27</td>
<td>27</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 27">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t827">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t827"><data value='get_flipped_image'>FrameManager._render_svg_corners_pdf.get_flipped_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>11</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 11">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t874">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t874"><data value='render_corner_frame_pdf'>FrameManager._render_corner_frame_pdf</data></a></td>
<td class="spacer">&nbsp;</td>
<td>20</td>
<td>20</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 20">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t913">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t913"><data value='render_full_frame_pdf'>FrameManager._render_full_frame_pdf</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t938">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html#t938"><data value='get_frame_manager'>get_frame_manager</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html">pyPhotoAlbum<span class="sep">/</span>frame_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_frame_manager_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>53</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="53 53">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_imports_py.html">pyPhotoAlbum<span class="sep">/</span>gl_imports.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_imports_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>26</td>
<td>23</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 26">12%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t53">pyPhotoAlbum<span class="sep">/</span>gl_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t53"><data value='init__'>GLWidget.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t87">pyPhotoAlbum<span class="sep">/</span>gl_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t87"><data value='window'>GLWidget.window</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t95">pyPhotoAlbum<span class="sep">/</span>gl_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t95"><data value='update'>GLWidget.update</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t101">pyPhotoAlbum<span class="sep">/</span>gl_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t101"><data value='closeEvent'>GLWidget.closeEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t107">pyPhotoAlbum<span class="sep">/</span>gl_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t107"><data value='get_project_folder'>GLWidget._get_project_folder</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 4">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t114">pyPhotoAlbum<span class="sep">/</span>gl_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t114"><data value='keyPressEvent'>GLWidget.keyPressEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>33</td>
<td>14</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 33">58%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t165">pyPhotoAlbum<span class="sep">/</span>gl_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t165"><data value='event'>GLWidget.event</data></a></td>
<td class="spacer">&nbsp;</td>
<td>39</td>
<td>33</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 39">15%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t235">pyPhotoAlbum<span class="sep">/</span>gl_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t235"><data value='handle_pinch_gesture'>GLWidget._handle_pinch_gesture</data></a></td>
<td class="spacer">&nbsp;</td>
<td>36</td>
<td>36</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 36">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t312">pyPhotoAlbum<span class="sep">/</span>gl_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html#t312"><data value='apply_zoom_at_point'>GLWidget._apply_zoom_at_point</data></a></td>
<td class="spacer">&nbsp;</td>
<td>21</td>
<td>21</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 21">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html">pyPhotoAlbum<span class="sep">/</span>gl_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_gl_widget_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>25</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="25 25">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t16">pyPhotoAlbum<span class="sep">/</span>image_utils.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t16"><data value='apply_pil_rotation'>apply_pil_rotation</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 10">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t41">pyPhotoAlbum<span class="sep">/</span>image_utils.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t41"><data value='convert_to_rgba'>convert_to_rgba</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 3">67%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t56">pyPhotoAlbum<span class="sep">/</span>image_utils.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t56"><data value='calculate_center_crop_coords'>calculate_center_crop_coords</data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 23">74%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t116">pyPhotoAlbum<span class="sep">/</span>image_utils.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t116"><data value='crop_image_to_coords'>crop_image_to_coords</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 7">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t138">pyPhotoAlbum<span class="sep">/</span>image_utils.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t138"><data value='resize_to_fit'>resize_to_fit</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 6">83%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t167">pyPhotoAlbum<span class="sep">/</span>image_utils.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t167"><data value='apply_rounded_corners'>apply_rounded_corners</data></a></td>
<td class="spacer">&nbsp;</td>
<td>31</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="27 31">87%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t238">pyPhotoAlbum<span class="sep">/</span>image_utils.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t238"><data value='apply_drop_shadow'>apply_drop_shadow</data></a></td>
<td class="spacer">&nbsp;</td>
<td>31</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="31 31">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t314">pyPhotoAlbum<span class="sep">/</span>image_utils.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t314"><data value='create_border_image'>create_border_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t367">pyPhotoAlbum<span class="sep">/</span>image_utils.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html#t367"><data value='apply_style_to_image'>apply_style_to_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>15</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 15">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html">pyPhotoAlbum<span class="sep">/</span>image_utils.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_image_utils_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t23">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t23"><data value='init__'>LoadingWidget.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>27</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="27 27">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t95">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t95"><data value='opacity'>LoadingWidget.opacity</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t100">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t100"><data value='opacity'>LoadingWidget.opacity</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t105">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t105"><data value='show_loading'>LoadingWidget.show_loading</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t125">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t125"><data value='hide_loading'>LoadingWidget.hide_loading</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t133">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t133"><data value='set_status'>LoadingWidget.set_status</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t142">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t142"><data value='set_progress'>LoadingWidget.set_progress</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t153">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t153"><data value='set_indeterminate'>LoadingWidget.set_indeterminate</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t167">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t167"><data value='reposition'>LoadingWidget._reposition</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t176">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t176"><data value='showEvent'>LoadingWidget.showEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t181">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html#t181"><data value='resizeParent'>LoadingWidget.resizeParent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html">pyPhotoAlbum<span class="sep">/</span>loading_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_loading_widget_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>17</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t76">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t76"><data value='init__'>MainWindow.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 8">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t99">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t99"><data value='init_state'>MainWindow._init_state</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 4">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t112">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t112"><data value='init_ui'>MainWindow._init_ui</data></a></td>
<td class="spacer">&nbsp;</td>
<td>49</td>
<td>49</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 49">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t197">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t197"><data value='on_vertical_scroll'>MainWindow._on_vertical_scroll</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t204">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t204"><data value='on_horizontal_scroll'>MainWindow._on_horizontal_scroll</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t211">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t211"><data value='update_scrollbars'>MainWindow.update_scrollbars</data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>23</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 23">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t260">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t260"><data value='register_shortcuts'>MainWindow._register_shortcuts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>13</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 13">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t280">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t280"><data value='resizeEvent'>MainWindow.resizeEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t286">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t286"><data value='add_sample_page'>MainWindow._add_sample_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>16</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 16">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t313">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t313"><data value='perform_autosave'>MainWindow._perform_autosave</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 5">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t322">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t322"><data value='check_checkpoint_recovery'>MainWindow._check_checkpoint_recovery</data></a></td>
<td class="spacer">&nbsp;</td>
<td>27</td>
<td>27</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 27">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t375">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t375"><data value='closeEvent'>MainWindow.closeEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>19</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 19">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t419">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html#t419"><data value='main'>main</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>19</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 19">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_main_py.html">pyPhotoAlbum<span class="sep">/</span>main.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_main_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>30</td>
<td>30</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 30">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t33">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t33"><data value='init__'>PagePreviewWidget.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t39">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t39"><data value='paintEvent'>PagePreviewWidget.paintEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>32</td>
<td>32</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 32">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t99">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t99"><data value='init__'>ConflictItemWidget.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t106">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t106"><data value='init_ui'>ConflictItemWidget._init_ui</data></a></td>
<td class="spacer">&nbsp;</td>
<td>44</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="44 44">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t181">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t181"><data value='create_element_details'>ConflictItemWidget._create_element_details</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 19">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t207">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t207"><data value='create_settings_details'>ConflictItemWidget._create_settings_details</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t224">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t224"><data value='on_resolution_changed'>ConflictItemWidget._on_resolution_changed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t228">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t228"><data value='get_resolution'>ConflictItemWidget.get_resolution</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 6">83%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t244">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t244"><data value='init__'>MergeDialog.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t266">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t266"><data value='init_ui'>MergeDialog._init_ui</data></a></td>
<td class="spacer">&nbsp;</td>
<td>43</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="43 43">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t339">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t339"><data value='on_resolution_changed'>MergeDialog._on_resolution_changed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t343">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t343"><data value='auto_resolve'>MergeDialog._auto_resolve</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t361">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html#t361"><data value='get_merged_project_data'>MergeDialog.get_merged_project_data</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html">pyPhotoAlbum<span class="sep">/</span>merge_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_dialog_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="23 23">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t57">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t57"><data value='init__'>MergeManager.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t60">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t60"><data value='should_merge_projects'>MergeManager.should_merge_projects</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 6">67%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t84">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t84"><data value='detect_conflicts'>MergeManager.detect_conflicts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t107">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t107"><data value='detect_project_settings_conflicts'>MergeManager._detect_project_settings_conflicts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t141">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t141"><data value='detect_page_conflicts'>MergeManager._detect_page_conflicts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 12">75%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t168">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t168"><data value='detect_page_modification_conflicts'>MergeManager._detect_page_modification_conflicts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 16">62%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t216">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t216"><data value='detect_element_conflicts'>MergeManager._detect_element_conflicts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 11">73%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t238">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t238"><data value='detect_element_modification_conflicts'>MergeManager._detect_element_modification_conflicts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>20</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 20">75%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t306">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t306"><data value='auto_resolve_conflicts'>MergeManager.auto_resolve_conflicts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 13">23%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t339">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t339"><data value='get_timestamp'>MergeManager._get_timestamp</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t345">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t345"><data value='apply_resolutions'>MergeManager.apply_resolutions</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 9">44%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t379">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t379"><data value='apply_their_version'>MergeManager._apply_their_version</data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>18</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 18">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t405">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t405"><data value='merge_non_conflicting_changes'>MergeManager._merge_non_conflicting_changes</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t410">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t410"><data value='add_missing_pages'>MergeManager._add_missing_pages</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t418">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t418"><data value='merge_page_elements'>MergeManager._merge_page_elements</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 8">88%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t434">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t434"><data value='merge_element'>MergeManager._merge_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t452">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t452"><data value='is_element_in_conflict'>MergeManager._is_element_in_conflict</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t456">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t456"><data value='merge_by_timestamp'>MergeManager._merge_by_timestamp</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t474">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html#t474"><data value='concatenate_projects'>concatenate_projects</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html">pyPhotoAlbum<span class="sep">/</span>merge_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_merge_manager_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>45</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="45 45">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78___init___py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>__init__.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78___init___py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t19">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_drop.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t19"><data value='dragEnterEvent'>AssetDropMixin.dragEnterEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t30">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_drop.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t30"><data value='dragMoveEvent'>AssetDropMixin.dragMoveEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t37">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_drop.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t37"><data value='dropEvent'>AssetDropMixin.dropEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t55">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_drop.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t55"><data value='extract_image_path'>AssetDropMixin._extract_image_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t66">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_drop.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t66"><data value='handle_drop_on_element'>AssetDropMixin._handle_drop_on_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 11">91%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t84">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_drop.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t84"><data value='replace_placeholder_with_image'>AssetDropMixin._replace_placeholder_with_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t106">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_drop.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t106"><data value='handle_drop_on_empty_space'>AssetDropMixin._handle_drop_on_empty_space</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 14">86%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t130">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_drop.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t130"><data value='calculate_image_dimensions'>AssetDropMixin._calculate_image_dimensions</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 5">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t142">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_drop.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html#t142"><data value='add_new_image_to_page'>AssetDropMixin._add_new_image_to_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_drop.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_drop_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_path_py.html#t16">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_path.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_path_py.html#t16"><data value='resolve_asset_path'>AssetPathMixin.resolve_asset_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_path_py.html#t44">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_path.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_path_py.html#t44"><data value='get_asset_full_path'>AssetPathMixin.get_asset_full_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_path_py.html#t59">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_path.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_path_py.html#t59"><data value='get_project_folder'>AssetPathMixin._get_project_folder</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_asset_path_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>asset_path.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_asset_path_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t25">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t25"><data value='update'>AsyncLoadingMixin.update</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t29">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t29"><data value='window'>AsyncLoadingMixin.window</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t40">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t40"><data value='init_async_loading'>AsyncLoadingMixin._init_async_loading</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t62">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t62"><data value='cleanup_async_loading'>AsyncLoadingMixin._cleanup_async_loading</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t77">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t77"><data value='on_image_loaded'>AsyncLoadingMixin._on_image_loaded</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t94">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t94"><data value='on_image_load_failed'>AsyncLoadingMixin._on_image_load_failed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t108">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t108"><data value='on_pdf_progress'>AsyncLoadingMixin._on_pdf_progress</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t126">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t126"><data value='on_pdf_complete'>AsyncLoadingMixin._on_pdf_complete</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t152">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t152"><data value='on_pdf_failed'>AsyncLoadingMixin._on_pdf_failed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t171">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t171"><data value='request_image_load'>AsyncLoadingMixin.request_image_load</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t208">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t208"><data value='export_pdf_async'>AsyncLoadingMixin.export_pdf_async</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t238">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t238"><data value='on_pdf_cancel'>AsyncLoadingMixin._on_pdf_cancel</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t245">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html#t245"><data value='get_async_stats'>AsyncLoadingMixin.get_async_stats</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>async_loading.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_async_loading_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>24</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="24 24">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t24">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t24"><data value='project'>ApplicationStateMixin.project</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t31">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t31"><data value='project'>ApplicationStateMixin.project</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t36">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t36"><data value='gl_widget'>ApplicationStateMixin.gl_widget</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t43">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t43"><data value='status_bar'>ApplicationStateMixin.status_bar</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t50">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t50"><data value='template_manager'>ApplicationStateMixin.template_manager</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t58">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t58"><data value='get_most_visible_page_index'>ApplicationStateMixin._get_most_visible_page_index</data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t95">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t95"><data value='get_current_page'>ApplicationStateMixin.get_current_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t111">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t111"><data value='get_current_page_index'>ApplicationStateMixin.get_current_page_index</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t122">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t122"><data value='show_status'>ApplicationStateMixin.show_status</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t133">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t133"><data value='show_error'>ApplicationStateMixin.show_error</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t143">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t143"><data value='show_warning'>ApplicationStateMixin.show_warning</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t153">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t153"><data value='show_info'>ApplicationStateMixin.show_info</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t163">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t163"><data value='require_page'>ApplicationStateMixin.require_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t182">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t182"><data value='require_selection'>ApplicationStateMixin.require_selection</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t205">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html#t205"><data value='update_view'>ApplicationStateMixin.update_view</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 4">75%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>base.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_base_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="23 23">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_dialog_mixin_py.html#t19">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>dialog_mixin.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_dialog_mixin_py.html#t19"><data value='create_dialog'>DialogMixin.create_dialog</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_dialog_mixin_py.html#t47">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>dialog_mixin.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_dialog_mixin_py.html#t47"><data value='show_dialog'>DialogMixin.show_dialog</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_dialog_mixin_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>dialog_mixin.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_dialog_mixin_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html#t18">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_manipulation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html#t18"><data value='window'>ElementManipulationMixin.window</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html#t22">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_manipulation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html#t22"><data value='init__'>ElementManipulationMixin.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html#t45">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_manipulation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html#t45"><data value='resize_element'>ElementManipulationMixin._resize_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="21 23">91%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html#t99">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_manipulation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html#t99"><data value='resize_element_no_snap'>ElementManipulationMixin._resize_element_no_snap</data></a></td>
<td class="spacer">&nbsp;</td>
<td>24</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="23 24">96%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html#t136">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_manipulation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html#t136"><data value='transfer_element_to_page'>ElementManipulationMixin._transfer_element_to_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_manipulation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_manipulation_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>3</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t17">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_selection.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t17"><data value='window'>ElementSelectionMixin.window</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t28">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_selection.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t28"><data value='init__'>ElementSelectionMixin.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t35">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_selection.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t35"><data value='selected_element'>ElementSelectionMixin.selected_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t45">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_selection.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t45"><data value='selected_element'>ElementSelectionMixin.selected_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t57">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_selection.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t57"><data value='get_element_at'>ElementSelectionMixin._get_element_at</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t93">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_selection.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html#t93"><data value='get_resize_handle_at'>ElementSelectionMixin._get_resize_handle_at</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 19">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>element_selection.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_element_selection_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_image_pan_py.html#t22">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>image_pan.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_image_pan_py.html#t22"><data value='init__'>ImagePanMixin.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_image_pan_py.html#t29">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>image_pan.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_image_pan_py.html#t29"><data value='handle_image_pan_move'>ImagePanMixin._handle_image_pan_move</data></a></td>
<td class="spacer">&nbsp;</td>
<td>31</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="29 31">94%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_image_pan_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>image_pan.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_image_pan_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t19">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t19"><data value='init__'>CommandBuilder.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t23">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t23"><data value='can_build'>CommandBuilder.can_build</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>12</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t38">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t38"><data value='build'>CommandBuilder.build</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>12</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t52">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t52"><data value='log_command'>CommandBuilder.log_command</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t60">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t60"><data value='can_build'>MoveCommandBuilder.can_build</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t69">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t69"><data value='build'>MoveCommandBuilder.build</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 11">91%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t92">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t92"><data value='can_build'>ResizeCommandBuilder.can_build</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 9">89%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t108">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t108"><data value='build'>ResizeCommandBuilder.build</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 12">83%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t133">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t133"><data value='can_build'>RotateCommandBuilder.can_build</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 5">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t142">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t142"><data value='build'>RotateCommandBuilder.build</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 11">82%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t165">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t165"><data value='can_build'>ImagePanCommandBuilder.can_build</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 9">89%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t180">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html#t180"><data value='build'>ImagePanCommandBuilder.build</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 15">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_builders.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_builders_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>0</td>
<td>4</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 19">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t27">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t27"><data value='init__'>InteractionCommandFactory.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t32">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t32"><data value='register_default_builders'>InteractionCommandFactory._register_default_builders</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t39">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t39"><data value='register_builder'>InteractionCommandFactory.register_builder</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t49">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t49"><data value='create_command'>InteractionCommandFactory.create_command</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t75">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t75"><data value='has_builder'>InteractionCommandFactory.has_builder</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t79">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t79"><data value='get_supported_types'>InteractionCommandFactory.get_supported_types</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t92">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t92"><data value='init__'>InteractionState.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t119">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t119"><data value='to_dict'>InteractionState.to_dict</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t137">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t137"><data value='is_valid'>InteractionState.is_valid</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t141">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html#t141"><data value='clear'>InteractionState.clear</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_command_factory.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_command_factory_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t19">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_undo.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t19"><data value='init__'>UndoableInteractionMixin.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t28">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_undo.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t28"><data value='begin_move'>UndoableInteractionMixin._begin_move</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t39">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_undo.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t39"><data value='begin_resize'>UndoableInteractionMixin._begin_resize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t51">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_undo.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t51"><data value='begin_rotate'>UndoableInteractionMixin._begin_rotate</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t62">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_undo.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t62"><data value='begin_image_pan'>UndoableInteractionMixin._begin_image_pan</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t78">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_undo.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t78"><data value='end_interaction'>UndoableInteractionMixin._end_interaction</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t110">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_undo.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t110"><data value='clear_interaction_state'>UndoableInteractionMixin._clear_interaction_state</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t114">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_undo.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html#t114"><data value='cancel_interaction'>UndoableInteractionMixin._cancel_interaction</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_undo.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_undo_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t9">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t9"><data value='significant_change'>significant_change</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t20">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t20"><data value='decorator'>significant_change.decorator</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t22">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t22"><data value='wrapper'>significant_change.decorator.wrapper</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 4">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t37">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t37"><data value='position_changed'>ChangeValidator.position_changed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t49">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t49"><data value='size_changed'>ChangeValidator.size_changed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 5">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t61">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t61"><data value='rotation_changed'>ChangeValidator.rotation_changed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 3">67%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t69">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t69"><data value='crop_changed'>ChangeValidator.crop_changed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 5">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t87">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t87"><data value='init__'>InteractionChangeDetector.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t91">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t91"><data value='detect_position_change'>InteractionChangeDetector.detect_position_change</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t108">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t108"><data value='detect_size_change'>InteractionChangeDetector.detect_size_change</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t125">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t125"><data value='detect_rotation_change'>InteractionChangeDetector.detect_rotation_change</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t137">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html#t137"><data value='detect_crop_change'>InteractionChangeDetector.detect_crop_change</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>interaction_validators.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_interaction_validators_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html#t16">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>keyboard_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html#t16"><data value='navigate_to_next_page'>KeyboardNavigationMixin._navigate_to_next_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html#t31">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>keyboard_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html#t31"><data value='navigate_to_previous_page'>KeyboardNavigationMixin._navigate_to_previous_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html#t46">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>keyboard_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html#t46"><data value='scroll_to_page'>KeyboardNavigationMixin._scroll_to_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>24</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="24 24">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html#t92">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>keyboard_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html#t92"><data value='move_viewport_with_arrow_keys'>KeyboardNavigationMixin._move_viewport_with_arrow_keys</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html#t122">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>keyboard_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html#t122"><data value='move_selected_elements_with_arrow_keys'>KeyboardNavigationMixin._move_selected_elements_with_arrow_keys</data></a></td>
<td class="spacer">&nbsp;</td>
<td>30</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="30 30">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>keyboard_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_keyboard_navigation_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t39">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t39"><data value='window'>MouseInteractionMixin.window</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t40">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t40"><data value='update'>MouseInteractionMixin.update</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t41">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t41"><data value='setCursor'>MouseInteractionMixin.setCursor</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t42">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t42"><data value='setFocus'>MouseInteractionMixin.setFocus</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t43">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t43"><data value='begin_rotate'>MouseInteractionMixin._begin_rotate</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t44">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t44"><data value='begin_resize'>MouseInteractionMixin._begin_resize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t45">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t45"><data value='begin_image_pan'>MouseInteractionMixin._begin_image_pan</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t46">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t46"><data value='begin_move'>MouseInteractionMixin._begin_move</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t47">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t47"><data value='end_interaction'>MouseInteractionMixin._end_interaction</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t48">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t48"><data value='resize_element'>MouseInteractionMixin._resize_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t49">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t49"><data value='get_page_at'>MouseInteractionMixin._get_page_at</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t50">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t50"><data value='get_element_at'>MouseInteractionMixin._get_element_at</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t51">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t51"><data value='get_resize_handle_at'>MouseInteractionMixin._get_resize_handle_at</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t52">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t52"><data value='check_ghost_page_click'>MouseInteractionMixin._check_ghost_page_click</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t53">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t53"><data value='transfer_element_to_page'>MouseInteractionMixin._transfer_element_to_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t54">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t54"><data value='handle_image_pan_move'>MouseInteractionMixin._handle_image_pan_move</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t55">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t55"><data value='update_page_status'>MouseInteractionMixin._update_page_status</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>1</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t57">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t57"><data value='init__'>MouseInteractionMixin.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t66">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t66"><data value='handle_rotation_start'>MouseInteractionMixin._handle_rotation_start</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t74">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t74"><data value='handle_resize_start'>MouseInteractionMixin._handle_resize_start</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t84">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t84"><data value='handle_image_pan_start'>MouseInteractionMixin._handle_image_pan_start</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t94">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t94"><data value='handle_multi_select'>MouseInteractionMixin._handle_multi_select</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t101">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t101"><data value='handle_element_drag_start'>MouseInteractionMixin._handle_element_drag_start</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t110">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t110"><data value='mousePressEvent'>MouseInteractionMixin.mousePressEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t121">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t121"><data value='handle_left_click'>MouseInteractionMixin._handle_left_click</data></a></td>
<td class="spacer">&nbsp;</td>
<td>26</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="25 26">96%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t162">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t162"><data value='handle_canvas_pan'>MouseInteractionMixin._handle_canvas_pan</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 11">91%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t180">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t180"><data value='handle_rotation_move'>MouseInteractionMixin._handle_rotation_move</data></a></td>
<td class="spacer">&nbsp;</td>
<td>17</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 17">94%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t205">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t205"><data value='handle_resize_move'>MouseInteractionMixin._handle_resize_move</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t215">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t215"><data value='handle_element_move'>MouseInteractionMixin._handle_element_move</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 12">92%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t237">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t237"><data value='move_element_within_page'>MouseInteractionMixin._move_element_within_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t261">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t261"><data value='mouseMoveEvent'>MouseInteractionMixin.mouseMoveEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>17</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 17">94%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t290">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t290"><data value='mouseReleaseEvent'>MouseInteractionMixin.mouseReleaseEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t310">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t310"><data value='mouseDoubleClickEvent'>MouseInteractionMixin.mouseDoubleClickEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t324">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t324"><data value='wheelEvent'>MouseInteractionMixin.wheelEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>46</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="43 46">93%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t400">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html#t400"><data value='edit_text_element'>MouseInteractionMixin._edit_text_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>mouse_interaction.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_mouse_interaction_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>36</td>
<td>0</td>
<td>3</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="36 36">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb___init___py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>__init__.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb___init___py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t13">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>alignment_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t13"><data value='get_selected_elements_list'>AlignmentOperationsMixin._get_selected_elements_list</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t17">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>alignment_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t17"><data value='execute_alignment'>AlignmentOperationsMixin._execute_alignment</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t44">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>alignment_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t44"><data value='align_left'>AlignmentOperationsMixin.align_left</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t56">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>alignment_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t56"><data value='align_right'>AlignmentOperationsMixin.align_right</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t68">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>alignment_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t68"><data value='align_top'>AlignmentOperationsMixin.align_top</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t80">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>alignment_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t80"><data value='align_bottom'>AlignmentOperationsMixin.align_bottom</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t92">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>alignment_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t92"><data value='align_horizontal_center'>AlignmentOperationsMixin.align_horizontal_center</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t104">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>alignment_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t104"><data value='align_vertical_center'>AlignmentOperationsMixin.align_vertical_center</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t116">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>alignment_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html#t116"><data value='maximize_pattern'>AlignmentOperationsMixin.maximize_pattern</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>14</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 14">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>alignment_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_alignment_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>20</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="20 20">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t13">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>distribution_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t13"><data value='get_selected_elements_list'>DistributionOperationsMixin._get_selected_elements_list</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t17">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>distribution_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t17"><data value='execute_distribution'>DistributionOperationsMixin._execute_distribution</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t44">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>distribution_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t44"><data value='distribute_horizontally'>DistributionOperationsMixin.distribute_horizontally</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t56">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>distribution_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t56"><data value='distribute_vertically'>DistributionOperationsMixin.distribute_vertically</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t68">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>distribution_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t68"><data value='space_horizontally'>DistributionOperationsMixin.space_horizontally</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t80">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>distribution_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html#t80"><data value='space_vertically'>DistributionOperationsMixin.space_vertically</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>distribution_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_distribution_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t13">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>edit_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t13"><data value='undo'>EditOperationsMixin.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t26">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>edit_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t26"><data value='redo'>EditOperationsMixin.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t44">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>edit_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t44"><data value='delete_selected_element'>EditOperationsMixin.delete_selected_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 16">69%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t81">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>edit_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t81"><data value='rotate_left'>EditOperationsMixin.rotate_left</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t104">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>edit_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t104"><data value='rotate_right'>EditOperationsMixin.rotate_right</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 10">90%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t127">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>edit_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html#t127"><data value='reset_rotation'>EditOperationsMixin.reset_rotation</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>edit_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_edit_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_element_ops_py.html#t18">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>element_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_element_ops_py.html#t18"><data value='add_image'>ElementOperationsMixin.add_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>28</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="24 28">86%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_element_ops_py.html#t72">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>element_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_element_ops_py.html#t72"><data value='add_text'>ElementOperationsMixin.add_text</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 15">93%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_element_ops_py.html#t106">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>element_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_element_ops_py.html#t106"><data value='add_placeholder'>ElementOperationsMixin.add_placeholder</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 15">93%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_element_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>element_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_element_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t51">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t51"><data value='show_status'>FileOperationsMixin.show_status</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t55">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t55"><data value='show_error'>FileOperationsMixin.show_error</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t59">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t59"><data value='resolve_asset_path'>FileOperationsMixin.resolve_asset_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t64">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t64"><data value='new_project'>FileOperationsMixin.new_project</data></a></td>
<td class="spacer">&nbsp;</td>
<td>96</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="96 96">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t116">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t116"><data value='set_preset'>FileOperationsMixin.new_project.set_preset</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t210">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t210"><data value='open_project'>FileOperationsMixin.open_project</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t238">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t238"><data value='on_load_progress'>FileOperationsMixin._on_load_progress</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t244">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t244"><data value='on_load_complete'>FileOperationsMixin._on_load_complete</data></a></td>
<td class="spacer">&nbsp;</td>
<td>17</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t277">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t277"><data value='on_load_failed'>FileOperationsMixin._on_load_failed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t289">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t289"><data value='save_project'>FileOperationsMixin.save_project</data></a></td>
<td class="spacer">&nbsp;</td>
<td>21</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 21">90%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t324">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t324"><data value='on_progress'>FileOperationsMixin.save_project._on_progress</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t332">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t332"><data value='on_finished'>FileOperationsMixin.save_project._on_finished</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 19">79%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t371">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t371"><data value='heal_assets'>FileOperationsMixin.heal_assets</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t379">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t379"><data value='check_missing_assets'>FileOperationsMixin._check_missing_assets</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t399">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t399"><data value='show_missing_assets_warning'>FileOperationsMixin._show_missing_assets_warning</data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t434">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t434"><data value='project_settings'>FileOperationsMixin.project_settings</data></a></td>
<td class="spacer">&nbsp;</td>
<td>111</td>
<td>37</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="74 111">67%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t590">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t590"><data value='apply_page_size_to_project'>FileOperationsMixin._apply_page_size_to_project</data></a></td>
<td class="spacer">&nbsp;</td>
<td>20</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 20">95%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t634">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t634"><data value='scale_page_elements'>FileOperationsMixin._scale_page_elements</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t652">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t652"><data value='reposition_page_elements'>FileOperationsMixin._reposition_page_elements</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t672">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t672"><data value='export_pdf'>FileOperationsMixin.export_pdf</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t699">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t699"><data value='clean_assets'>FileOperationsMixin.clean_assets</data></a></td>
<td class="spacer">&nbsp;</td>
<td>72</td>
<td>72</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 72">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t705">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t705"><data value='format_bytes'>FileOperationsMixin.clean_assets.format_bytes</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 5">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t810">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t810"><data value='update_image_references'>FileOperationsMixin.clean_assets.update_image_references</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 7">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t856">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html#t856"><data value='show_about'>FileOperationsMixin.show_about</data></a></td>
<td class="spacer">&nbsp;</td>
<td>20</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="20 20">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>file_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_file_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>44</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="44 44">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_merge_ops_py.html#t25">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>merge_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_merge_ops_py.html#t25"><data value='merge_projects'>MergeOperationsMixin.merge_projects</data></a></td>
<td class="spacer">&nbsp;</td>
<td>26</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="25 26">96%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_merge_ops_py.html#t88">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>merge_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_merge_ops_py.html#t88"><data value='perform_merge_with_conflicts'>MergeOperationsMixin._perform_merge_with_conflicts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_merge_ops_py.html#t130">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>merge_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_merge_ops_py.html#t130"><data value='perform_concatenation'>MergeOperationsMixin._perform_concatenation</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_merge_ops_py.html#t157">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>merge_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_merge_ops_py.html#t157"><data value='apply_merged_data'>MergeOperationsMixin._apply_merged_data</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_merge_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>merge_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_merge_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_page_ops_py.html#t18">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>page_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_page_ops_py.html#t18"><data value='add_page'>PageOperationsMixin.add_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>24</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="23 24">96%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_page_ops_py.html#t73">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>page_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_page_ops_py.html#t73"><data value='page_setup'>PageOperationsMixin.page_setup</data></a></td>
<td class="spacer">&nbsp;</td>
<td>58</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="56 58">97%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_page_ops_py.html#t185">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>page_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_page_ops_py.html#t185"><data value='toggle_double_spread'>PageOperationsMixin.toggle_double_spread</data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 23">96%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_page_ops_py.html#t232">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>page_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_page_ops_py.html#t232"><data value='remove_page'>PageOperationsMixin.remove_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 16">94%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_page_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>page_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_page_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t13">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t13"><data value='get_selected_elements_list'>SizeOperationsMixin._get_selected_elements_list</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t17">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t17"><data value='execute_resize'>SizeOperationsMixin._execute_resize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t36">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t36"><data value='execute_fit_to_page'>SizeOperationsMixin._execute_fit_to_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 13">92%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t69">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t69"><data value='make_same_size'>SizeOperationsMixin.make_same_size</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t81">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t81"><data value='make_same_width'>SizeOperationsMixin.make_same_width</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t93">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t93"><data value='make_same_height'>SizeOperationsMixin.make_same_height</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t105">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t105"><data value='fit_to_width'>SizeOperationsMixin.fit_to_width</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t120">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t120"><data value='fit_to_height'>SizeOperationsMixin.fit_to_height</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t135">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t135"><data value='fit_to_page'>SizeOperationsMixin.fit_to_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t150">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html#t150"><data value='expand_image'>SizeOperationsMixin.expand_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>size_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_size_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>21</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="21 21">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t18">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t18"><data value='get_selected_images'>StyleOperationsMixin._get_selected_images</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t24">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t24"><data value='apply_style_change'>StyleOperationsMixin._apply_style_change</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>19</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 19">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t44">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t44"><data value='init__'>StyleOperationsMixin._apply_style_change.StyleChangeCommand.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t49">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t49"><data value='invalidate_texture'>StyleOperationsMixin._apply_style_change.StyleChangeCommand._invalidate_texture</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 10">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t66">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t66"><data value='execute'>StyleOperationsMixin._apply_style_change.StyleChangeCommand.execute</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t71">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t71"><data value='undo'>StyleOperationsMixin._apply_style_change.StyleChangeCommand.undo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t76">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t76"><data value='redo'>StyleOperationsMixin._apply_style_change.StyleChangeCommand.redo</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t79">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t79"><data value='serialize'>StyleOperationsMixin._apply_style_change.StyleChangeCommand.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t84">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t84"><data value='deserialize'>StyleOperationsMixin._apply_style_change.StyleChangeCommand.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t105">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t105"><data value='show_corner_radius_dialog'>StyleOperationsMixin.show_corner_radius_dialog</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 10">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t132">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t132"><data value='remove_corner_radius'>StyleOperationsMixin.remove_corner_radius</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t150">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t150"><data value='show_border_dialog'>StyleOperationsMixin.show_border_dialog</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>11</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 11">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t166">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t166"><data value='update_border'>StyleOperationsMixin.show_border_dialog.update_border</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t179">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t179"><data value='remove_border'>StyleOperationsMixin.remove_border</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t197">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t197"><data value='show_shadow_dialog'>StyleOperationsMixin.show_shadow_dialog</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>11</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 11">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t219">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t219"><data value='update_shadow'>StyleOperationsMixin.show_shadow_dialog.update_shadow</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 4">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t234">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t234"><data value='toggle_shadow'>StyleOperationsMixin.toggle_shadow</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t260">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t260"><data value='apply_polaroid_style'>StyleOperationsMixin.apply_polaroid_style</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t263">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t263"><data value='apply_preset'>StyleOperationsMixin.apply_polaroid_style.apply_preset</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 7">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t281">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t281"><data value='apply_rounded_style'>StyleOperationsMixin.apply_rounded_style</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t284">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t284"><data value='apply_preset'>StyleOperationsMixin.apply_rounded_style.apply_preset</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t301">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t301"><data value='clear_style'>StyleOperationsMixin.clear_style</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t304">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t304"><data value='clear_all'>StyleOperationsMixin.clear_style.clear_all</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 10">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t329">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t329"><data value='show_frame_picker'>StyleOperationsMixin.show_frame_picker</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>12</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 12">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t350">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t350"><data value='update_frame'>StyleOperationsMixin.show_frame_picker.update_frame</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t365">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t365"><data value='remove_frame'>StyleOperationsMixin.remove_frame</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t368">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html#t368"><data value='clear_frame'>StyleOperationsMixin.remove_frame.clear_frame</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>style_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_style_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>27</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="27 27">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_template_ops_py.html#t30">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>template_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_template_ops_py.html#t30"><data value='save_page_as_template'>TemplateOperationsMixin.save_page_as_template</data></a></td>
<td class="spacer">&nbsp;</td>
<td>20</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="20 20">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_template_ops_py.html#t76">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>template_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_template_ops_py.html#t76"><data value='new_page_from_template'>TemplateOperationsMixin.new_page_from_template</data></a></td>
<td class="spacer">&nbsp;</td>
<td>68</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="68 68">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_template_ops_py.html#t198">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>template_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_template_ops_py.html#t198"><data value='apply_template_to_page'>TemplateOperationsMixin.apply_template_to_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>82</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="82 82">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_template_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>template_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_template_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t13">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t13"><data value='zoom_in'>ViewOperationsMixin.zoom_in</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t22">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t22"><data value='zoom_out'>ViewOperationsMixin.zoom_out</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t31">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t31"><data value='zoom_fit'>ViewOperationsMixin.zoom_fit</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t65">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t65"><data value='toggle_grid_snap'>ViewOperationsMixin.toggle_grid_snap</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t84">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t84"><data value='toggle_edge_snap'>ViewOperationsMixin.toggle_edge_snap</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 7">86%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t97">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t97"><data value='toggle_guide_snap'>ViewOperationsMixin.toggle_guide_snap</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 7">86%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t110">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t110"><data value='toggle_show_grid'>ViewOperationsMixin.toggle_show_grid</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 7">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t125">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t125"><data value='open_print_settings'>ViewOperationsMixin.open_print_settings</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>9</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 9">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t143">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t143"><data value='toggle_print_guides'>ViewOperationsMixin.toggle_print_guides</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t155">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t155"><data value='toggle_snap_lines'>ViewOperationsMixin.toggle_snap_lines</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 7">86%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t168">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t168"><data value='add_horizontal_guide'>ViewOperationsMixin.add_horizontal_guide</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t183">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t183"><data value='add_vertical_guide'>ViewOperationsMixin.add_vertical_guide</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t198">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t198"><data value='clear_guides'>ViewOperationsMixin.clear_guides</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t218">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t218"><data value='toggle_image_browser'>ViewOperationsMixin.toggle_image_browser</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t231">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html#t231"><data value='set_grid_size'>ViewOperationsMixin.set_grid_size</data></a></td>
<td class="spacer">&nbsp;</td>
<td>46</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="39 46">85%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>view_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_view_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>33</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="33 33">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html#t20">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>zorder_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html#t20"><data value='bring_to_front'>ZOrderOperationsMixin.bring_to_front</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 19">95%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html#t58">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>zorder_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html#t58"><data value='send_to_back'>ZOrderOperationsMixin.send_to_back</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 19">89%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html#t96">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>zorder_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html#t96"><data value='bring_forward'>ZOrderOperationsMixin.bring_forward</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 19">84%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html#t134">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>zorder_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html#t134"><data value='send_backward'>ZOrderOperationsMixin.send_backward</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 19">84%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html#t173">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>zorder_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html#t173"><data value='swap_order'>ZOrderOperationsMixin.swap_order</data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>operations<span class="sep">/</span>zorder_ops.py</a></td>
<td class="name"><a href="z_49d8e0368ee083bb_zorder_ops_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t16">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>page_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t16"><data value='update'>PageNavigationMixin.update</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t20">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>page_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t20"><data value='window'>PageNavigationMixin.window</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t31">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>page_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t31"><data value='init__'>PageNavigationMixin.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t40">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>page_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t40"><data value='get_page_at'>PageNavigationMixin._get_page_at</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t67">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>page_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t67"><data value='get_page_positions'>PageNavigationMixin._get_page_positions</data></a></td>
<td class="spacer">&nbsp;</td>
<td>38</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="32 38">84%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t146">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>page_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t146"><data value='check_ghost_page_click'>PageNavigationMixin._check_ghost_page_click</data></a></td>
<td class="spacer">&nbsp;</td>
<td>30</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 30">93%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t226">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>page_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html#t226"><data value='update_page_status'>PageNavigationMixin._update_page_status</data></a></td>
<td class="spacer">&nbsp;</td>
<td>21</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 21">67%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>page_navigation.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_page_navigation_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t21">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>rendering.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t21"><data value='paintGL'>RenderingMixin.paintGL</data></a></td>
<td class="spacer">&nbsp;</td>
<td>58</td>
<td>11</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="47 58">81%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t136">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>rendering.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t136"><data value='draw_selection_handles'>RenderingMixin._draw_selection_handles</data></a></td>
<td class="spacer">&nbsp;</td>
<td>74</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="74 74">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t236">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>rendering.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t236"><data value='render_text_overlays'>RenderingMixin._render_text_overlays</data></a></td>
<td class="spacer">&nbsp;</td>
<td>44</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="43 44">98%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t302">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>rendering.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t302"><data value='render_ghost_page'>RenderingMixin._render_ghost_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 19">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t334">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>rendering.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t334"><data value='draw_page_print_guides'>RenderingMixin._draw_page_print_guides</data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>21</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 23">9%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t366">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>rendering.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html#t366"><data value='draw_rect_outline'>RenderingMixin._draw_page_print_guides._draw_rect_outline</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>12</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 12">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>rendering.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_rendering_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t16">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t16"><data value='init__'>ViewportMixin.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t27">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t27"><data value='initializeGL'>ViewportMixin.initializeGL</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t32">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t32"><data value='resizeGL'>ViewportMixin.resizeGL</data></a></td>
<td class="spacer">&nbsp;</td>
<td>17</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t67">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t67"><data value='calculate_fit_to_screen_zoom'>ViewportMixin._calculate_fit_to_screen_zoom</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t98">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t98"><data value='calculate_center_pan_offset'>ViewportMixin._calculate_center_pan_offset</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t136">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t136"><data value='get_content_bounds'>ViewportMixin.get_content_bounds</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 19">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t178">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t178"><data value='clamp_vertical_pan'>ViewportMixin._clamp_vertical_pan</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t193">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t193"><data value='build_page_centerlines'>ViewportMixin._build_page_centerlines</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t214">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t214"><data value='interpolate_target_centerline'>ViewportMixin._interpolate_target_centerline</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 11">82%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t235">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t235"><data value='find_page_at_viewport_y'>ViewportMixin._find_page_at_viewport_y</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t242">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t242"><data value='clamp_horizontal_pan'>ViewportMixin._clamp_horizontal_pan</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t256">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html#t256"><data value='clamp_pan_offset'>ViewportMixin.clamp_pan_offset</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 13">92%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html">pyPhotoAlbum<span class="sep">/</span>mixins<span class="sep">/</span>viewport.py</a></td>
<td class="name"><a href="z_d7b118d2bba6ff78_viewport_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t74">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t74"><data value='init__'>ImageStyle.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t116">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t116"><data value='copy'>ImageStyle.copy</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t131">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t131"><data value='has_styling'>ImageStyle.has_styling</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t135">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t135"><data value='serialize'>ImageStyle.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t151">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t151"><data value='deserialize'>ImageStyle.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t170">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t170"><data value='eq__'>ImageStyle.__eq__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t186">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t186"><data value='repr__'>ImageStyle.__repr__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>12</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t206">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t206"><data value='set_asset_resolution_context'>set_asset_resolution_context</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t220">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t220"><data value='get_asset_search_paths'>get_asset_search_paths</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t228">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t228"><data value='init__'>BaseLayoutElement.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t248">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t248"><data value='mark_modified'>BaseLayoutElement.mark_modified</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t252">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t252"><data value='mark_deleted'>BaseLayoutElement.mark_deleted</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t258">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t258"><data value='serialize_base_fields'>BaseLayoutElement._serialize_base_fields</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t268">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t268"><data value='deserialize_base_fields'>BaseLayoutElement._deserialize_base_fields</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t283">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t283"><data value='render'>BaseLayoutElement.render</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t288">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t288"><data value='serialize'>BaseLayoutElement.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t293">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t293"><data value='deserialize'>BaseLayoutElement.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>0</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 0">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t301">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t301"><data value='init__'>ImageData.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t332">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t332"><data value='resolve_image_path'>ImageData.resolve_image_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t356">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t356"><data value='extract_dimensions_metadata'>ImageData._extract_dimensions_metadata</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t370">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t370"><data value='render'>ImageData.render</data></a></td>
<td class="spacer">&nbsp;</td>
<td>63</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="56 63">89%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t474">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t474"><data value='render_shadow'>ImageData._render_shadow</data></a></td>
<td class="spacer">&nbsp;</td>
<td>17</td>
<td>17</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 17">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t500">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t500"><data value='render_border'>ImageData._render_border</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>14</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 14">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t523">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t523"><data value='render_frame'>ImageData._render_frame</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t538">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t538"><data value='serialize'>ImageData.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t563">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t563"><data value='deserialize'>ImageData.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>22</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 22">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t599">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t599"><data value='on_async_image_loaded'>ImageData._on_async_image_loaded</data></a></td>
<td class="spacer">&nbsp;</td>
<td>26</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 26">69%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t665">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t665"><data value='get_style_hash'>ImageData._get_style_hash</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 3">67%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t673">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t673"><data value='create_texture_from_pending_image'>ImageData._create_texture_from_pending_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>37</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="37 37">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t746">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t746"><data value='on_async_image_load_failed'>ImageData._on_async_image_load_failed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t761">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t761"><data value='init__'>PlaceholderData.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t774">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t774"><data value='render'>PlaceholderData.render</data></a></td>
<td class="spacer">&nbsp;</td>
<td>29</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="29 29">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t817">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t817"><data value='serialize'>PlaceholderData.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t835">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t835"><data value='deserialize'>PlaceholderData.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t853">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t853"><data value='init__'>TextBoxData.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t859">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t859"><data value='render'>TextBoxData.render</data></a></td>
<td class="spacer">&nbsp;</td>
<td>22</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="22 22">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t895">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t895"><data value='serialize'>TextBoxData.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t911">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t911"><data value='deserialize'>TextBoxData.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t928">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t928"><data value='init__'>GhostPageData.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t933">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t933"><data value='render'>GhostPageData.render</data></a></td>
<td class="spacer">&nbsp;</td>
<td>24</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="24 24">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t976">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t976"><data value='get_page_rect'>GhostPageData.get_page_rect</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t985">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t985"><data value='serialize'>GhostPageData.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t992">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html#t992"><data value='deserialize'>GhostPageData.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_models_py.html">pyPhotoAlbum<span class="sep">/</span>models.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_models_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>59</td>
<td>0</td>
<td>7</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="59 59">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t35">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t35"><data value='init__'>PageLayout.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t54">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t54"><data value='add_element'>PageLayout.add_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t59">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t59"><data value='remove_element'>PageLayout.remove_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t63">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t63"><data value='set_grid_layout'>PageLayout.set_grid_layout</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t67">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t67"><data value='render'>PageLayout.render</data></a></td>
<td class="spacer">&nbsp;</td>
<td>60</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="59 60">98%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t168">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t168"><data value='render_snap_lines'>PageLayout._render_snap_lines</data></a></td>
<td class="spacer">&nbsp;</td>
<td>46</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="46 46">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t232">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t232"><data value='serialize'>PageLayout.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t245">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t245"><data value='deserialize'>PageLayout.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>27</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="27 27">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t292">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t292"><data value='init__'>GridLayout.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t298">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t298"><data value='merge_cells'>GridLayout.merge_cells</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t302">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t302"><data value='get_cell_position'>GridLayout.get_cell_position</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t314">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t314"><data value='get_cell_size'>GridLayout.get_cell_size</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t321">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t321"><data value='serialize'>GridLayout.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t325">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html#t325"><data value='deserialize'>GridLayout.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html">pyPhotoAlbum<span class="sep">/</span>page_layout.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_layout_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>20</td>
<td>0</td>
<td>2</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="20 20">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t25">pyPhotoAlbum<span class="sep">/</span>page_renderer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t25"><data value='init__'>PageRenderer.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t54">pyPhotoAlbum<span class="sep">/</span>page_renderer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t54"><data value='page_to_screen'>PageRenderer.page_to_screen</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t69">pyPhotoAlbum<span class="sep">/</span>page_renderer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t69"><data value='screen_to_page'>PageRenderer.screen_to_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t84">pyPhotoAlbum<span class="sep">/</span>page_renderer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t84"><data value='is_point_in_page'>PageRenderer.is_point_in_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t100">pyPhotoAlbum<span class="sep">/</span>page_renderer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t100"><data value='get_sub_page_at'>PageRenderer.get_sub_page_at</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t122">pyPhotoAlbum<span class="sep">/</span>page_renderer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t122"><data value='begin_render'>PageRenderer.begin_render</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t133">pyPhotoAlbum<span class="sep">/</span>page_renderer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t133"><data value='end_render'>PageRenderer.end_render</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t140">pyPhotoAlbum<span class="sep">/</span>page_renderer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t140"><data value='get_page_bounds_screen'>PageRenderer.get_page_bounds_screen</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t149">pyPhotoAlbum<span class="sep">/</span>page_renderer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html#t149"><data value='get_page_bounds_page'>PageRenderer.get_page_bounds_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html">pyPhotoAlbum<span class="sep">/</span>page_renderer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_page_renderer_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t48">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t48"><data value='process_image_task'>_process_image_task</data></a></td>
<td class="spacer">&nbsp;</td>
<td>38</td>
<td>38</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 38">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t183">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t183"><data value='init__'>PDFExporter.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t201">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t201"><data value='export'>PDFExporter.export</data></a></td>
<td class="spacer">&nbsp;</td>
<td>44</td>
<td>12</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="32 44">73%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t281">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t281"><data value='compute_page_sequence'>PDFExporter._compute_page_sequence</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 15">87%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t305">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t305"><data value='render_item_to_bytes'>PDFExporter._render_item_to_bytes</data></a></td>
<td class="spacer">&nbsp;</td>
<td>28</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="20 28">71%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t352">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t352"><data value='make_blank_page_bytes'>PDFExporter._make_blank_page_bytes</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 5">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t360">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t360"><data value='merge_page_pdfs'>PDFExporter._merge_page_pdfs</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 10">90%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t374">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t374"><data value='make_task_id'>PDFExporter._make_task_id</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t385">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t385"><data value='collect_image_tasks'>PDFExporter._collect_image_tasks</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 14">71%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t411">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t411"><data value='collect_page_tasks'>PDFExporter._collect_page_tasks</data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 18">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t460">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t460"><data value='collect_spread_tasks'>PDFExporter._collect_spread_tasks</data></a></td>
<td class="spacer">&nbsp;</td>
<td>28</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 28">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t512">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t512"><data value='add_image_task'>PDFExporter._add_image_task</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t547">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t547"><data value='preprocess_images_parallel'>PDFExporter._preprocess_images_parallel</data></a></td>
<td class="spacer">&nbsp;</td>
<td>25</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 25">68%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t598">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t598"><data value='export_cover'>PDFExporter._export_cover</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 7">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t619">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t619"><data value='export_single_page'>PDFExporter._export_single_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t633">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t633"><data value='export_spread'>PDFExporter._export_spread</data></a></td>
<td class="spacer">&nbsp;</td>
<td>28</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 28">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t708">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t708"><data value='render_element'>PDFExporter._render_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 19">95%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t769">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t769"><data value='render_split_element'>PDFExporter._render_split_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>30</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="29 30">97%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t856">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t856"><data value='render_image'>PDFExporter._render_image</data></a></td>
<td class="spacer">&nbsp;</td>
<td>28</td>
<td>13</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 28">54%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t925">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t925"><data value='process_image_fallback'>PDFExporter._process_image_fallback</data></a></td>
<td class="spacer">&nbsp;</td>
<td>37</td>
<td>31</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 37">16%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t1002">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t1002"><data value='draw_shadow_pdf'>PDFExporter._draw_shadow_pdf</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>13</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 13">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t1042">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t1042"><data value='draw_border_pdf'>PDFExporter._draw_border_pdf</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>12</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 12">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t1066">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t1066"><data value='draw_frame_pdf'>PDFExporter._draw_frame_pdf</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 4">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t1084">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html#t1084"><data value='render_textbox'>PDFExporter._render_textbox</data></a></td>
<td class="spacer">&nbsp;</td>
<td>42</td>
<td>14</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="28 42">67%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html">pyPhotoAlbum<span class="sep">/</span>pdf_exporter.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_pdf_exporter_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>80</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="80 80">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t19">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t19"><data value='init__'>Page.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>21</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="19 21">90%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t67">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t67"><data value='get_page_numbers'>Page.get_page_numbers</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t79">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t79"><data value='get_page_count'>Page.get_page_count</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t88">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t88"><data value='mark_modified'>Page.mark_modified</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t92">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t92"><data value='mark_deleted'>Page.mark_deleted</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t98">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t98"><data value='render'>Page.render</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t103">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t103"><data value='serialize'>Page.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t119">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t119"><data value='deserialize'>Page.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t142">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t142"><data value='init__'>Project.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>34</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="34 34">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t200">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t200"><data value='mark_dirty'>Project.mark_dirty</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t205">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t205"><data value='mark_clean'>Project.mark_clean</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t209">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t209"><data value='is_dirty'>Project.is_dirty</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t213">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t213"><data value='mark_modified'>Project.mark_modified</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t217">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t217"><data value='add_page'>Project.add_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 6">83%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t234">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t234"><data value='remove_page'>Project.remove_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 4">75%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t242">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t242"><data value='calculate_spine_width'>Project.calculate_spine_width</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 8">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t268">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t268"><data value='update_cover_dimensions'>Project.update_cover_dimensions</data></a></td>
<td class="spacer">&nbsp;</td>
<td>17</td>
<td>17</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 17">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t308">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t308"><data value='get_page_display_name'>Project.get_page_display_name</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 8">88%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t332">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t332"><data value='calculate_page_layout_with_ghosts'>Project.calculate_page_layout_with_ghosts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>18</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 18">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t391">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t391"><data value='render_all_pages'>Project.render_all_pages</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t396">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t396"><data value='serialize'>Project.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t432">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t432"><data value='deserialize'>Project.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>42</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="42 42">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t491">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t491"><data value='cleanup'>Project.cleanup</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 8">75%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t506">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html#t506"><data value='del__'>Project.__del__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_py.html">pyPhotoAlbum<span class="sep">/</span>project.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>35</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="35 35">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t25">pyPhotoAlbum<span class="sep">/</span>project_serializer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t25"><data value='import_external_images'>_import_external_images</data></a></td>
<td class="spacer">&nbsp;</td>
<td>26</td>
<td>16</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 26">38%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t75">pyPhotoAlbum<span class="sep">/</span>project_serializer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t75"><data value='normalize_asset_paths'>_normalize_asset_paths</data></a></td>
<td class="spacer">&nbsp;</td>
<td>26</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="18 26">69%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t123">pyPhotoAlbum<span class="sep">/</span>project_serializer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t123"><data value='save_to_zip'>save_to_zip</data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="23 23">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t174">pyPhotoAlbum<span class="sep">/</span>project_serializer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t174"><data value='save_to_zip_async'>save_to_zip_async</data></a></td>
<td class="spacer">&nbsp;</td>
<td>28</td>
<td>28</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 28">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t239">pyPhotoAlbum<span class="sep">/</span>project_serializer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t239"><data value='background_save'>save_to_zip_async._background_save</data></a></td>
<td class="spacer">&nbsp;</td>
<td>37</td>
<td>37</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 37">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t295">pyPhotoAlbum<span class="sep">/</span>project_serializer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t295"><data value='load_from_zip'>load_from_zip</data></a></td>
<td class="spacer">&nbsp;</td>
<td>39</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="37 39">95%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t385">pyPhotoAlbum<span class="sep">/</span>project_serializer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html#t385"><data value='get_project_info'>get_project_info</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html">pyPhotoAlbum<span class="sep">/</span>project_serializer.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_project_serializer_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>17</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="17 17">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_builder_py.html#t12">pyPhotoAlbum<span class="sep">/</span>ribbon_builder.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_builder_py.html#t12"><data value='build_ribbon_config'>build_ribbon_config</data></a></td>
<td class="spacer">&nbsp;</td>
<td>31</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="29 31">94%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_builder_py.html#t119">pyPhotoAlbum<span class="sep">/</span>ribbon_builder.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_builder_py.html#t119"><data value='get_keyboard_shortcuts'>get_keyboard_shortcuts</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 12">83%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_builder_py.html#t148">pyPhotoAlbum<span class="sep">/</span>ribbon_builder.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_builder_py.html#t148"><data value='validate_ribbon_config'>validate_ribbon_config</data></a></td>
<td class="spacer">&nbsp;</td>
<td>37</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="37 37">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_builder_py.html#t208">pyPhotoAlbum<span class="sep">/</span>ribbon_builder.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_builder_py.html#t208"><data value='print_ribbon_summary'>print_ribbon_summary</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="15 15">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_builder_py.html">pyPhotoAlbum<span class="sep">/</span>ribbon_builder.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_builder_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t12">pyPhotoAlbum<span class="sep">/</span>ribbon_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t12"><data value='init__'>RibbonWidget.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 15">87%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t39">pyPhotoAlbum<span class="sep">/</span>ribbon_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t39"><data value='build_ribbon'>RibbonWidget._build_ribbon</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t45">pyPhotoAlbum<span class="sep">/</span>ribbon_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t45"><data value='create_tab'>RibbonWidget._create_tab</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t63">pyPhotoAlbum<span class="sep">/</span>ribbon_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t63"><data value='create_group'>RibbonWidget._create_group</data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="23 23">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t101">pyPhotoAlbum<span class="sep">/</span>ribbon_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t101"><data value='create_action_button'>RibbonWidget._create_action_button</data></a></td>
<td class="spacer">&nbsp;</td>
<td>7</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 7">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t115">pyPhotoAlbum<span class="sep">/</span>ribbon_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html#t115"><data value='execute_action'>RibbonWidget._execute_action</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html">pyPhotoAlbum<span class="sep">/</span>ribbon_widget.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_ribbon_widget_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t18">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t18"><data value='serialize'>Guide.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t23">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t23"><data value='deserialize'>Guide.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t45">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t45"><data value='init__'>SnappingSystem.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t59">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t59"><data value='add_guide'>SnappingSystem.add_guide</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t65">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t65"><data value='remove_guide'>SnappingSystem.remove_guide</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t70">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t70"><data value='clear_guides'>SnappingSystem.clear_guides</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t74">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t74"><data value='snap_position'>SnappingSystem.snap_position</data></a></td>
<td class="spacer">&nbsp;</td>
<td>59</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="59 59">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t199">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t199"><data value='snap_resize'>SnappingSystem.snap_resize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>45</td>
<td>7</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="38 45">84%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t301">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t301"><data value='snap_edge_to_targets'>SnappingSystem._snap_edge_to_targets</data></a></td>
<td class="spacer">&nbsp;</td>
<td>30</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="26 30">87%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t373">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t373"><data value='get_snap_lines'>SnappingSystem.get_snap_lines</data></a></td>
<td class="spacer">&nbsp;</td>
<td>21</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="21 21">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t420">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t420"><data value='serialize'>SnappingSystem.serialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t431">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html#t431"><data value='deserialize'>SnappingSystem.deserialize</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="8 8">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html">pyPhotoAlbum<span class="sep">/</span>snapping.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_snapping_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>31</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="31 31">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t17">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t17"><data value='init__'>Template.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t25">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t25"><data value='add_element'>Template.add_element</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t29">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t29"><data value='to_dict'>Template.to_dict</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t39">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t39"><data value='from_dict'>Template.from_dict</data></a></td>
<td class="spacer">&nbsp;</td>
<td>11</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 11">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t63">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t63"><data value='save_to_file'>Template.save_to_file</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t69">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t69"><data value='load_from_file'>Template.load_from_file</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t79">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t79"><data value='init__'>TemplateManager.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t84">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t84"><data value='get_templates_directory'>TemplateManager._get_templates_directory</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t91">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t91"><data value='get_builtin_templates_directory'>TemplateManager._get_builtin_templates_directory</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t97">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t97"><data value='ensure_templates_directory'>TemplateManager._ensure_templates_directory</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t105">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t105"><data value='list_templates'>TemplateManager.list_templates</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t128">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t128"><data value='load_template'>TemplateManager.load_template</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>5</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 16">69%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t164">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t164"><data value='save_template'>TemplateManager.save_template</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 5">60%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t181">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t181"><data value='delete_template'>TemplateManager.delete_template</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="11 12">92%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t200">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t200"><data value='embed_template'>TemplateManager.embed_template</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 4">75%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t213">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t213"><data value='create_template_from_page'>TemplateManager.create_template_from_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t264">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t264"><data value='scale_template_elements'>TemplateManager.scale_template_elements</data></a></td>
<td class="spacer">&nbsp;</td>
<td>45</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="44 45">98%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t364">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t364"><data value='apply_template_to_page'>TemplateManager.apply_template_to_page</data></a></td>
<td class="spacer">&nbsp;</td>
<td>27</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="25 27">93%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t440">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html#t440"><data value='create_page_from_template'>TemplateManager.create_page_from_template</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="13 13">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html">pyPhotoAlbum<span class="sep">/</span>template_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_template_manager_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>30</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="30 30">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t23">pyPhotoAlbum<span class="sep">/</span>text_edit_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t23"><data value='init__'>TextEditDialog.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t35">pyPhotoAlbum<span class="sep">/</span>text_edit_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t35"><data value='init_ui'>TextEditDialog._init_ui</data></a></td>
<td class="spacer">&nbsp;</td>
<td>40</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="40 40">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t99">pyPhotoAlbum<span class="sep">/</span>text_edit_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t99"><data value='load_values'>TextEditDialog._load_values</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="16 16">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t129">pyPhotoAlbum<span class="sep">/</span>text_edit_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t129"><data value='choose_color'>TextEditDialog._choose_color</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="4 4">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t136">pyPhotoAlbum<span class="sep">/</span>text_edit_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t136"><data value='update_color_button'>TextEditDialog._update_color_button</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t143">pyPhotoAlbum<span class="sep">/</span>text_edit_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html#t143"><data value='get_values'>TextEditDialog.get_values</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html">pyPhotoAlbum<span class="sep">/</span>text_edit_dialog.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_text_edit_dialog_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 10">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t23">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t23"><data value='init__'>DateHeader.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t32">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t32"><data value='init__'>ThumbnailItem.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 12">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t50">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t50"><data value='get_bounds'>ThumbnailItem.get_bounds</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t54">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t54"><data value='contains_point'>ThumbnailItem.contains_point</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t65">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t65"><data value='init__'>ThumbnailGLWidget.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t94">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t94"><data value='window'>ThumbnailGLWidget.window</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t98">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t98"><data value='update'>ThumbnailGLWidget.update</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t104">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t104"><data value='initializeGL'>ThumbnailGLWidget.initializeGL</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 4">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t111">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t111"><data value='resizeGL'>ThumbnailGLWidget.resizeGL</data></a></td>
<td class="spacer">&nbsp;</td>
<td>8</td>
<td>8</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 8">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t126">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t126"><data value='paintGL'>ThumbnailGLWidget.paintGL</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>10</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 10">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t146">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t146"><data value='paintEvent'>ThumbnailGLWidget.paintEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>14</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 14">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t174">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t174"><data value='render_thumbnail'>ThumbnailGLWidget._render_thumbnail</data></a></td>
<td class="spacer">&nbsp;</td>
<td>48</td>
<td>48</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 48">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t247">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t247"><data value='render_date_header'>ThumbnailGLWidget._render_date_header</data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>18</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 18">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t277">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t277"><data value='create_texture_for_thumbnail'>ThumbnailGLWidget._create_texture_for_thumbnail</data></a></td>
<td class="spacer">&nbsp;</td>
<td>23</td>
<td>23</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 23">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t315">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t315"><data value='load_folder'>ThumbnailGLWidget.load_folder</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="9 9">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t335">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t335"><data value='arrange_thumbnails'>ThumbnailGLWidget._arrange_thumbnails</data></a></td>
<td class="spacer">&nbsp;</td>
<td>60</td>
<td>24</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="36 60">60%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t444">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t444"><data value='update_scrollbar_range'>ThumbnailGLWidget._update_scrollbar_range</data></a></td>
<td class="spacer">&nbsp;</td>
<td>19</td>
<td>17</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 19">11%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t478">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t478"><data value='on_scrollbar_changed'>ThumbnailGLWidget._on_scrollbar_changed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>4</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 4">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t487">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t487"><data value='update_scrollbar_position'>ThumbnailGLWidget._update_scrollbar_position</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t497">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t497"><data value='update_used_images'>ThumbnailGLWidget.update_used_images</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="14 14">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t522">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t522"><data value='request_thumbnail_load'>ThumbnailGLWidget._request_thumbnail_load</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>4</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="10 14">71%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t554">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t554"><data value='on_image_loaded'>ThumbnailGLWidget._on_image_loaded</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>6</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 6">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t566">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t566"><data value='on_image_load_failed'>ThumbnailGLWidget._on_image_load_failed</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t570">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t570"><data value='screen_to_viewport'>ThumbnailGLWidget.screen_to_viewport</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t576">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t576"><data value='get_thumbnail_at'>ThumbnailGLWidget.get_thumbnail_at</data></a></td>
<td class="spacer">&nbsp;</td>
<td>5</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 5">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t586">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t586"><data value='mousePressEvent'>ThumbnailGLWidget.mousePressEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t592">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t592"><data value='mouseMoveEvent'>ThumbnailGLWidget.mouseMoveEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>18</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 18">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t627">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t627"><data value='mouseReleaseEvent'>ThumbnailGLWidget.mouseReleaseEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t632">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t632"><data value='wheelEvent'>ThumbnailGLWidget.wheelEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>15</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 15">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t676">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t676"><data value='init__'>ThumbnailBrowserDock.__init__</data></a></td>
<td class="spacer">&nbsp;</td>
<td>47</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="47 47">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t760">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t760"><data value='connect_async_loader'>ThumbnailBrowserDock._connect_async_loader</data></a></td>
<td class="spacer">&nbsp;</td>
<td>14</td>
<td>11</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 14">21%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t782">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t782"><data value='showEvent'>ThumbnailBrowserDock.showEvent</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>2</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 2">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t788">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t788"><data value='select_folder'>ThumbnailBrowserDock._select_folder</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t800">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t800"><data value='load_folder'>ThumbnailBrowserDock.load_folder</data></a></td>
<td class="spacer">&nbsp;</td>
<td>6</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="6 6">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t810">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t810"><data value='sort_by'>ThumbnailBrowserDock._sort_by</data></a></td>
<td class="spacer">&nbsp;</td>
<td>9</td>
<td>9</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 9">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t827">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t827"><data value='apply_sort'>ThumbnailBrowserDock._apply_sort</data></a></td>
<td class="spacer">&nbsp;</td>
<td>16</td>
<td>14</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 16">12%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t854">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t854"><data value='get_image_date'>ThumbnailBrowserDock._get_image_date</data></a></td>
<td class="spacer">&nbsp;</td>
<td>18</td>
<td>18</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 18">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t881">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html#t881"><data value='get_camera_model'>ThumbnailBrowserDock._get_camera_model</data></a></td>
<td class="spacer">&nbsp;</td>
<td>13</td>
<td>13</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 13">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html">pyPhotoAlbum<span class="sep">/</span>thumbnail_browser.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_thumbnail_browser_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>52</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="52 52">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t48">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t48"><data value='is_compatible'>VersionCompatibility.is_compatible</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="3 3">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t63">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t63"><data value='needs_migration'>VersionCompatibility.needs_migration</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="1 1">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t77">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t77"><data value='get_version_info'>VersionCompatibility.get_version_info</data></a></td>
<td class="spacer">&nbsp;</td>
<td>1</td>
<td>1</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 1">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t82">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t82"><data value='get_migration_path'>VersionCompatibility.get_migration_path</data></a></td>
<td class="spacer">&nbsp;</td>
<td>10</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7 10">70%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t120">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t120"><data value='register_migration'>DataMigration.register_migration</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t123">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t123"><data value='decorator'>DataMigration.register_migration.decorator</data></a></td>
<td class="spacer">&nbsp;</td>
<td>2</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="2 2">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t130">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t130"><data value='migrate'>DataMigration.migrate</data></a></td>
<td class="spacer">&nbsp;</td>
<td>15</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="12 15">80%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t170">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t170"><data value='migrate_1_0_to_2_0'>migrate_1_0_to_2_0</data></a></td>
<td class="spacer">&nbsp;</td>
<td>3</td>
<td>3</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 3">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t190">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t190"><data value='migrate_2_0_to_3_0'>migrate_2_0_to_3_0</data></a></td>
<td class="spacer">&nbsp;</td>
<td>35</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="35 35">100%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t261">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t261"><data value='check_version_compatibility'>check_version_compatibility</data></a></td>
<td class="spacer">&nbsp;</td>
<td>22</td>
<td>17</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="5 22">23%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t303">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html#t303"><data value='format_version_info'>format_version_info</data></a></td>
<td class="spacer">&nbsp;</td>
<td>12</td>
<td>12</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="0 12">0%</td>
</tr>
<tr class="region">
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html">pyPhotoAlbum<span class="sep">/</span>version_manager.py</a></td>
<td class="name"><a href="z_92dc0df82e175391_version_manager_py.html"><data value=''><span class='no-noun'>(no function)</span></data></a></td>
<td class="spacer">&nbsp;</td>
<td>27</td>
<td>0</td>
<td>0</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="27 27">100%</td>
</tr>
</tbody>
<tfoot>
<tr class="total">
<td class="name">Total</td>
<td class="name">&nbsp;</td>
<td class="spacer">&nbsp;</td>
<td>10147</td>
<td>2758</td>
<td>108</td>
<td class="spacer">&nbsp;</td>
<td data-ratio="7389 10147">73%</td>
</tr>
</tfoot>
</table>
<p id="no_rows">
No items found using the specified filter.
</p>
</main>
<footer>
<div class="content">
<p>
<a class="nav" href="https://coverage.readthedocs.io/en/7.14.1">coverage.py v7.14.1</a>,
created at 2026-06-20 12:55 +0000
</p>
</div>
<aside class="hidden">
<a id="prevFileLink" class="nav" href=""></a>
<a id="nextFileLink" class="nav" href=""></a>
<button type="button" class="button_prev_file" data-shortcut="["></button>
<button type="button" class="button_next_file" data-shortcut="]"></button>
<button type="button" class="button_show_hide_help" data-shortcut="?"></button>
</aside>
</footer>
</body>
</html>