Äcdocutils.nodes
document
q)Åq}q(U	nametypesq}q(X���version storageqNX+���requirements on member node implementationsqNX���limits on the seriesqNX���retrieval vs. resolutionq	NX���the series identifierq
NX���overviewqNX$���5. support for accumulating datasetsqNX���semantics of "current"q
NX���case 2qNX���case 3qNX���case 1qNX���case 6qNX���case 7qNX���case 4qNX���case 5qNX���case 8qNX���case 9qNX&���2. mutable content member node supportqNX���contentsqNX���assigning identifiersqNX���the problemqNXC���reassignment of authoritativemembernode field for unhosted versionsqNX���version preservationqNX%���replication of unhosted back-versionsqNX���accumulating datasetsqNX!���referencing content by identifierqNX(���working drafts vs. repository publishingq NX���service development plansq!NX���resolving series identifiersq"NX	���use casesq#NX���types of mutable objectsq$NX���proposalq%NX'���7. supporting 'unrecorded' data streamsq&NX���mn api method changesq'NX���case 18q(NX���case 19q)NX���case 10q*NX���case 11q+NX���case 12q,NX���case 13q-NX���case 14q.NX ���mutability of content in dataoneq/NX���case 16q0NX���case 15q1NX���retrieval / citation supportq2NX���mixed metadata-data objectsq3NX���case 17q4NX���optionalq5NX5���4. support for frequently changing / overwritten dataq6NX���cn api method changesq7NX*���6. support for mixed metadata/data objectsq8NX���3. citation supportq9NX���1. data preservationq:NX/���synchronizing content from mutable member nodesq;NuUsubstitution_defsq<}q=(X���S2q>cdocutils.nodes
substitution_definition
q?)Åq@}qA(U	rawsourceqBX���.. |S2| replace:: :math:`S_2`UparentqCcdocutils.nodes
section
qD)ÅqE}qF(hBU�hChD)ÅqG}qH(hBU�hChUsourceqIXm���/var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/design/ContentMutability.txtqJUtagnameqKUsectionqLU
attributesqM}qN(UdupnamesqO]UclassesqP]UbackrefsqQ]UidsqR]qSU mutability-of-content-in-dataoneqTaUnamesqU]qVh/auUlineqWKUdocumentqXhUchildrenqY]qZ(cdocutils.nodes
title
q[)Åq\}q](hBX ���Mutability of Content in DataONEq^hChGhIhJhKUtitleq_hM}q`(hR]hQ]hO]hP]hU]UrefidqaUid1qbuhWKhXhhY]qccdocutils.nodes
Text
qdX ���Mutability of Content in DataONEqeÖÅqf}qg(hBh^hCh\ubaubcsphinx.addnodes
index
qh)Åqi}qj(hBU�hChGhIhJhKUindexqkhM}ql(hR]hQ]hO]hP]hU]Uentriesqm]qn(UsingleqoX
���mutabilityUindex-0qpU�NtqqaUinlineqrâuhWKhXhhY]ubcdocutils.nodes
target
qs)Åqt}qu(hBU�hChGhIhJhKUtargetqvhM}qw(hR]hQ]hO]hP]hU]hahpuhWKhXhhY]ubcdocutils.nodes
topic
qx)Åqy}qz(hBU�hChGhIhJUexpect_referenced_by_nameq{}hKUtopicq|hM}q}(hO]hP]q~UcontentsqahQ]hR]qÄ(UcontentsqÅhpehU]qÇhauhWKhXhUexpect_referenced_by_idqÉ}qÑhphtshY]qÖ(h[)ÅqÜ}qá(hBX���ContentshM}qà(hO]hP]hQ]hR]hU]uhChyhY]qâhdX���ContentsqäÖÅqã}qå(hBU�hChÜubahKh_ubcdocutils.nodes
bullet_list
qç)Åqé}qè(hBU�hChyhINhKUbullet_listqêhM}që(hO]hP]hQ]hR]hU]uhWNhXhhY]qícdocutils.nodes
list_item
qì)Åqî}qï(hBU�hM}qñ(hO]hP]hQ]hR]hU]uhChéhY]qó(cdocutils.nodes
paragraph
qò)Åqô}qö(hBU�hM}qõ(hO]hP]hQ]hR]hU]uhChîhY]qúcdocutils.nodes
reference
qù)Åqû}qü(hBU�hM}q†(hR]q°hbahQ]hO]hP]hU]UrefidhTuhChôhY]q¢hdX ���Mutability of Content in DataONEq£ÖÅq§}q•(hBh^hChûubahKU	referenceq¶ubahKU	paragraphqßubhç)Åq®}q©(hBU�hM}q™(hO]hP]hQ]hR]hU]uhChîhY]q´(hì)Åq¨}q≠(hBU�hM}qÆ(hO]hP]hQ]hR]hU]uhCh®hY]qØhò)Åq∞}q±(hBU�hM}q≤(hO]hP]hQ]hR]hU]uhCh¨hY]q≥hù)Åq¥}qµ(hBU�hM}q∂(hR]q∑Uid2q∏ahQ]hO]hP]hU]UrefidUoverviewqπuhCh∞hY]q∫hdX���OverviewqªÖÅqº}qΩ(hBX���OverviewqæhCh¥ubahKh¶ubahKhßubahKU	list_itemqøubhì)Åq¿}q¡(hBU�hM}q¬(hO]hP]hQ]hR]hU]uhCh®hY]q√(hò)Åqƒ}q≈(hBU�hM}q∆(hO]hP]hQ]hR]hU]uhCh¿hY]q«hù)Åq»}q…(hBU�hM}q (hR]qÀUid3qÃahQ]hO]hP]hU]UrefidUresolving-series-identifiersqÕuhChƒhY]qŒhdX���Resolving Series IdentifiersqœÖÅq–}q—(hBX���Resolving Series Identifiersq“hCh»ubahKh¶ubahKhßubhç)Åq”}q‘(hBU�hM}q’(hO]hP]hQ]hR]hU]uhCh¿hY]q÷(hì)Åq◊}qÿ(hBU�hM}qŸ(hO]hP]hQ]hR]hU]uhCh”hY]q⁄hò)Åq€}q‹(hBU�hM}q›(hO]hP]hQ]hR]hU]uhCh◊hY]qfihù)Åqfl}q‡(hBU�hM}q·(hR]q‚Uid4q„ahQ]hO]hP]hU]UrefidUcase-1q‰uhCh€hY]qÂhdX���Case 1qÊÖÅqÁ}qË(hBX���Case 1qÈhChflubahKh¶ubahKhßubahKhøubhì)ÅqÍ}qÎ(hBU�hM}qÏ(hO]hP]hQ]hR]hU]uhCh”hY]qÌhò)ÅqÓ}qÔ(hBU�hM}q(hO]hP]hQ]hR]hU]uhChÍhY]qÒhù)ÅqÚ}qÛ(hBU�hM}qÙ(hR]qıUid5qˆahQ]hO]hP]hU]UrefidUcase-2q˜uhChÓhY]q¯hdX���Case 2q˘ÖÅq˙}q˚(hBX���Case 2q¸hChÚubahKh¶ubahKhßubahKhøubhì)Åq˝}q˛(hBU�hM}qˇ(hO]hP]hQ]hR]hU]uhCh”hY]r���hò)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCh˝hY]r��hù)År��}r��(hBU�hM}r��(hR]r��Uid6r	��ahQ]hO]hP]hU]UrefidUcase-3r
��uhCj��hY]r��hdX���Case 3r��ÖÅr
��}r��(hBX���Case 3r��hCj��ubahKh¶ubahKhßubahKhøubhì)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCh”hY]r��hò)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj��hY]r��hù)År��}r��(hBU�hM}r��(hR]r��Uid7r��ahQ]hO]hP]hU]UrefidUcase-4r��uhCj��hY]r��hdX���Case 4r��ÖÅr ��}r!��(hBX���Case 4r"��hCj��ubahKh¶ubahKhßubahKhøubhì)År#��}r$��(hBU�hM}r%��(hO]hP]hQ]hR]hU]uhCh”hY]r&��hò)År'��}r(��(hBU�hM}r)��(hO]hP]hQ]hR]hU]uhCj#��hY]r*��hù)År+��}r,��(hBU�hM}r-��(hR]r.��Uid8r/��ahQ]hO]hP]hU]UrefidUcase-5r0��uhCj'��hY]r1��hdX���Case 5r2��ÖÅr3��}r4��(hBX���Case 5r5��hCj+��ubahKh¶ubahKhßubahKhøubhì)År6��}r7��(hBU�hM}r8��(hO]hP]hQ]hR]hU]uhCh”hY]r9��hò)År:��}r;��(hBU�hM}r<��(hO]hP]hQ]hR]hU]uhCj6��hY]r=��hù)År>��}r?��(hBU�hM}r@��(hR]rA��Uid9rB��ahQ]hO]hP]hU]UrefidUcase-6rC��uhCj:��hY]rD��hdX���Case 6rE��ÖÅrF��}rG��(hBX���Case 6rH��hCj>��ubahKh¶ubahKhßubahKhøubhì)ÅrI��}rJ��(hBU�hM}rK��(hO]hP]hQ]hR]hU]uhCh”hY]rL��hò)ÅrM��}rN��(hBU�hM}rO��(hO]hP]hQ]hR]hU]uhCjI��hY]rP��hù)ÅrQ��}rR��(hBU�hM}rS��(hR]rT��Uid10rU��ahQ]hO]hP]hU]UrefidUcase-7rV��uhCjM��hY]rW��hdX���Case 7rX��ÖÅrY��}rZ��(hBX���Case 7r[��hCjQ��ubahKh¶ubahKhßubahKhøubhì)År\��}r]��(hBU�hM}r^��(hO]hP]hQ]hR]hU]uhCh”hY]r_��hò)År`��}ra��(hBU�hM}rb��(hO]hP]hQ]hR]hU]uhCj\��hY]rc��hù)Ård��}re��(hBU�hM}rf��(hR]rg��Uid11rh��ahQ]hO]hP]hU]UrefidUcase-8ri��uhCj`��hY]rj��hdX���Case 8rk��ÖÅrl��}rm��(hBX���Case 8rn��hCjd��ubahKh¶ubahKhßubahKhøubhì)Åro��}rp��(hBU�hM}rq��(hO]hP]hQ]hR]hU]uhCh”hY]rr��hò)Års��}rt��(hBU�hM}ru��(hO]hP]hQ]hR]hU]uhCjo��hY]rv��hù)Årw��}rx��(hBU�hM}ry��(hR]rz��Uid12r{��ahQ]hO]hP]hU]UrefidUcase-9r|��uhCjs��hY]r}��hdX���Case 9r~��ÖÅr��}rÄ��(hBX���Case 9rÅ��hCjw��ubahKh¶ubahKhßubahKhøubhì)ÅrÇ��}rÉ��(hBU�hM}rÑ��(hO]hP]hQ]hR]hU]uhCh”hY]rÖ��hò)ÅrÜ��}rá��(hBU�hM}rà��(hO]hP]hQ]hR]hU]uhCjÇ��hY]râ��hù)Årä��}rã��(hBU�hM}rå��(hR]rç��Uid13ré��ahQ]hO]hP]hU]UrefidUcase-10rè��uhCjÜ��hY]rê��hdX���Case 10rë��ÖÅrí��}rì��(hBX���Case 10rî��hCjä��ubahKh¶ubahKhßubahKhøubhì)Årï��}rñ��(hBU�hM}ró��(hO]hP]hQ]hR]hU]uhCh”hY]rò��hò)Årô��}rö��(hBU�hM}rõ��(hO]hP]hQ]hR]hU]uhCjï��hY]rú��hù)Årù��}rû��(hBU�hM}rü��(hR]r†��Uid14r°��ahQ]hO]hP]hU]UrefidUcase-11r¢��uhCjô��hY]r£��hdX���Case 11r§��ÖÅr•��}r¶��(hBX���Case 11rß��hCjù��ubahKh¶ubahKhßubahKhøubhì)År®��}r©��(hBU�hM}r™��(hO]hP]hQ]hR]hU]uhCh”hY]r´��hò)År¨��}r≠��(hBU�hM}rÆ��(hO]hP]hQ]hR]hU]uhCj®��hY]rØ��hù)År∞��}r±��(hBU�hM}r≤��(hR]r≥��Uid15r¥��ahQ]hO]hP]hU]UrefidUcase-12rµ��uhCj¨��hY]r∂��hdX���Case 12r∑��ÖÅr∏��}rπ��(hBX���Case 12r∫��hCj∞��ubahKh¶ubahKhßubahKhøubhì)Årª��}rº��(hBU�hM}rΩ��(hO]hP]hQ]hR]hU]uhCh”hY]ræ��hò)Årø��}r¿��(hBU�hM}r¡��(hO]hP]hQ]hR]hU]uhCjª��hY]r¬��hù)År√��}rƒ��(hBU�hM}r≈��(hR]r∆��Uid16r«��ahQ]hO]hP]hU]UrefidUcase-13r»��uhCjø��hY]r…��hdX���Case 13r ��ÖÅrÀ��}rÃ��(hBX���Case 13rÕ��hCj√��ubahKh¶ubahKhßubahKhøubhì)ÅrŒ��}rœ��(hBU�hM}r–��(hO]hP]hQ]hR]hU]uhCh”hY]r—��hò)År“��}r”��(hBU�hM}r‘��(hO]hP]hQ]hR]hU]uhCjŒ��hY]r’��hù)År÷��}r◊��(hBU�hM}rÿ��(hR]rŸ��Uid17r⁄��ahQ]hO]hP]hU]UrefidUcase-14r€��uhCj“��hY]r‹��hdX���Case 14r›��ÖÅrfi��}rfl��(hBX���Case 14r‡��hCj÷��ubahKh¶ubahKhßubahKhøubhì)År·��}r‚��(hBU�hM}r„��(hO]hP]hQ]hR]hU]uhCh”hY]r‰��hò)ÅrÂ��}rÊ��(hBU�hM}rÁ��(hO]hP]hQ]hR]hU]uhCj·��hY]rË��hù)ÅrÈ��}rÍ��(hBU�hM}rÎ��(hR]rÏ��Uid18rÌ��ahQ]hO]hP]hU]UrefidUcase-15rÓ��uhCjÂ��hY]rÔ��hdX���Case 15r��ÖÅrÒ��}rÚ��(hBX���Case 15rÛ��hCjÈ��ubahKh¶ubahKhßubahKhøubhì)ÅrÙ��}rı��(hBU�hM}rˆ��(hO]hP]hQ]hR]hU]uhCh”hY]r˜��hò)År¯��}r˘��(hBU�hM}r˙��(hO]hP]hQ]hR]hU]uhCjÙ��hY]r˚��hù)År¸��}r˝��(hBU�hM}r˛��(hR]rˇ��Uid19r���ahQ]hO]hP]hU]UrefidUcase-16r��uhCj¯��hY]r��hdX���Case 16r��ÖÅr��}r��(hBX���Case 16r��hCj¸��ubahKh¶ubahKhßubahKhøubhì)År��}r��(hBU�hM}r	��(hO]hP]hQ]hR]hU]uhCh”hY]r
��hò)År��}r��(hBU�hM}r
��(hO]hP]hQ]hR]hU]uhCj��hY]r��hù)År��}r��(hBU�hM}r��(hR]r��Uid20r��ahQ]hO]hP]hU]UrefidUcase-17r��uhCj��hY]r��hdX���Case 17r��ÖÅr��}r��(hBX���Case 17r��hCj��ubahKh¶ubahKhßubahKhøubhì)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCh”hY]r��hò)År��}r��(hBU�hM}r ��(hO]hP]hQ]hR]hU]uhCj��hY]r!��hù)År"��}r#��(hBU�hM}r$��(hR]r%��Uid21r&��ahQ]hO]hP]hU]UrefidUcase-18r'��uhCj��hY]r(��hdX���Case 18r)��ÖÅr*��}r+��(hBX���Case 18r,��hCj"��ubahKh¶ubahKhßubahKhøubhì)År-��}r.��(hBU�hM}r/��(hO]hP]hQ]hR]hU]uhCh”hY]r0��hò)År1��}r2��(hBU�hM}r3��(hO]hP]hQ]hR]hU]uhCj-��hY]r4��hù)År5��}r6��(hBU�hM}r7��(hR]r8��Uid22r9��ahQ]hO]hP]hU]UrefidUcase-19r:��uhCj1��hY]r;��hdX���Case 19r<��ÖÅr=��}r>��(hBX���Case 19r?��hCj5��ubahKh¶ubahKhßubahKhøubehKhêubehKhøubhì)År@��}rA��(hBU�hM}rB��(hO]hP]hQ]hR]hU]uhCh®hY]rC��hò)ÅrD��}rE��(hBU�hM}rF��(hO]hP]hQ]hR]hU]uhCj@��hY]rG��hù)ÅrH��}rI��(hBU�hM}rJ��(hR]rK��Uid23rL��ahQ]hO]hP]hU]UrefidU!referencing-content-by-identifierrM��uhCjD��hY]rN��hdX!���Referencing Content by IdentifierrO��ÖÅrP��}rQ��(hBX!���Referencing Content by IdentifierrR��hCjH��ubahKh¶ubahKhßubahKhøubhì)ÅrS��}rT��(hBU�hM}rU��(hO]hP]hQ]hR]hU]uhCh®hY]rV��hò)ÅrW��}rX��(hBU�hM}rY��(hO]hP]hQ]hR]hU]uhCjS��hY]rZ��hù)År[��}r\��(hBU�hM}r]��(hR]r^��Uid24r_��ahQ]hO]hP]hU]UrefidUassigning-identifiersr`��uhCjW��hY]ra��hdX���Assigning Identifiersrb��ÖÅrc��}rd��(hBX���Assigning Identifiersre��hCj[��ubahKh¶ubahKhßubahKhøubhì)Årf��}rg��(hBU�hM}rh��(hO]hP]hQ]hR]hU]uhCh®hY]ri��hò)Årj��}rk��(hBU�hM}rl��(hO]hP]hQ]hR]hU]uhCjf��hY]rm��hù)Årn��}ro��(hBU�hM}rp��(hR]rq��Uid25rr��ahQ]hO]hP]hU]UrefidUlimits-on-the-seriesrs��uhCjj��hY]rt��hdX���Limits on the Seriesru��ÖÅrv��}rw��(hBX���Limits on the Seriesrx��hCjn��ubahKh¶ubahKhßubahKhøubhì)Åry��}rz��(hBU�hM}r{��(hO]hP]hQ]hR]hU]uhCh®hY]r|��hò)År}��}r~��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCjy��hY]rÄ��hù)ÅrÅ��}rÇ��(hBU�hM}rÉ��(hR]rÑ��Uid26rÖ��ahQ]hO]hP]hU]UrefidU+requirements-on-member-node-implementationsrÜ��uhCj}��hY]rá��hdX+���Requirements on Member Node Implementationsrà��ÖÅrâ��}rä��(hBX+���Requirements on Member Node Implementationsrã��hCjÅ��ubahKh¶ubahKhßubahKhøubhì)Årå��}rç��(hBU�hM}ré��(hO]hP]hQ]hR]hU]uhCh®hY]rè��hò)Årê��}rë��(hBU�hM}rí��(hO]hP]hQ]hR]hU]uhCjå��hY]rì��hù)Årî��}rï��(hBU�hM}rñ��(hR]ró��Uid27rò��ahQ]hO]hP]hU]UrefidUCreassignment-of-authoritativemembernode-field-for-unhosted-versionsrô��uhCjê��hY]rö��hdXC���Reassignment of AuthoritativeMemberNode field for unhosted versionsrõ��ÖÅrú��}rù��(hBXC���Reassignment of AuthoritativeMemberNode field for unhosted versionsrû��hCjî��ubahKh¶ubahKhßubahKhøubhì)Årü��}r†��(hBU�hM}r°��(hO]hP]hQ]hR]hU]uhCh®hY]r¢��hò)År£��}r§��(hBU�hM}r•��(hO]hP]hQ]hR]hU]uhCjü��hY]r¶��hù)Årß��}r®��(hBU�hM}r©��(hR]r™��Uid28r´��ahQ]hO]hP]hU]UrefidU%replication-of-unhosted-back-versionsr¨��uhCj£��hY]r≠��hdX%���Replication of unhosted back-versionsrÆ��ÖÅrØ��}r∞��(hBX%���Replication of unhosted back-versionsr±��hCjß��ubahKh¶ubahKhßubahKhøubhì)År≤��}r≥��(hBU�hM}r¥��(hO]hP]hQ]hR]hU]uhCh®hY]rµ��hò)År∂��}r∑��(hBU�hM}r∏��(hO]hP]hQ]hR]hU]uhCj≤��hY]rπ��hù)År∫��}rª��(hBU�hM}rº��(hR]rΩ��Uid29ræ��ahQ]hO]hP]hU]UrefidU/synchronizing-content-from-mutable-member-nodesrø��uhCj∂��hY]r¿��hdX/���Synchronizing Content from Mutable Member Nodesr¡��ÖÅr¬��}r√��(hBX/���Synchronizing Content from Mutable Member Nodesrƒ��hCj∫��ubahKh¶ubahKhßubahKhøubhì)År≈��}r∆��(hBU�hM}r«��(hO]hP]hQ]hR]hU]uhCh®hY]r»��hò)År…��}r ��(hBU�hM}rÀ��(hO]hP]hQ]hR]hU]uhCj≈��hY]rÃ��hù)ÅrÕ��}rŒ��(hBU�hM}rœ��(hR]r–��Uid30r—��ahQ]hO]hP]hU]UrefidUthe-problemr“��uhCj…��hY]r”��hdX���The Problemr‘��ÖÅr’��}r÷��(hBX���The Problemr◊��hCjÕ��ubahKh¶ubahKhßubahKhøubhì)Årÿ��}rŸ��(hBU�hM}r⁄��(hO]hP]hQ]hR]hU]uhCh®hY]r€��hò)År‹��}r›��(hBU�hM}rfi��(hO]hP]hQ]hR]hU]uhCjÿ��hY]rfl��hù)År‡��}r·��(hBU�hM}r‚��(hR]r„��Uid31r‰��ahQ]hO]hP]hU]UrefidUproposalrÂ��uhCj‹��hY]rÊ��hdX���ProposalrÁ��ÖÅrË��}rÈ��(hBX���ProposalrÍ��hCj‡��ubahKh¶ubahKhßubahKhøubhì)ÅrÎ��}rÏ��(hBU�hM}rÌ��(hO]hP]hQ]hR]hU]uhCh®hY]rÓ��(hò)ÅrÔ��}r��(hBU�hM}rÒ��(hO]hP]hQ]hR]hU]uhCjÎ��hY]rÚ��hù)ÅrÛ��}rÙ��(hBU�hM}rı��(hR]rˆ��Uid32r˜��ahQ]hO]hP]hU]UrefidUthe-series-identifierr¯��uhCjÔ��hY]r˘��hdX���The Series Identifierr˙��ÖÅr˚��}r¸��(hBX���The Series Identifierr˝��hCjÛ��ubahKh¶ubahKhßubhç)År˛��}rˇ��(hBU�hM}r���(hO]hP]hQ]hR]hU]uhCjÎ��hY]r��(hì)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj˛��hY]r��(hò)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj��hY]r	��hù)År
��}r��(hBU�hM}r��(hR]r
��Uid33r��ahQ]hO]hP]hU]UrefidUsemantics-of-currentr��uhCj��hY]r��hdX���Semantics of "Current"r��ÖÅr��}r��(hBX���Semantics of "Current"r��hCj
��ubahKh¶ubahKhßubhç)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj��hY]r��hì)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj��hY]r��hò)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj��hY]r ��hù)År!��}r"��(hBU�hM}r#��(hR]r$��Uid34r%��ahQ]hO]hP]hU]UrefidUversion-storager&��uhCj��hY]r'��hdX���Version Storager(��ÖÅr)��}r*��(hBX���Version Storager+��hCj!��ubahKh¶ubahKhßubahKhøubahKhêubehKhøubhì)År,��}r-��(hBU�hM}r.��(hO]hP]hQ]hR]hU]uhCj˛��hY]r/��hò)År0��}r1��(hBU�hM}r2��(hO]hP]hQ]hR]hU]uhCj,��hY]r3��hù)År4��}r5��(hBU�hM}r6��(hR]r7��Uid35r8��ahQ]hO]hP]hU]UrefidUversion-preservationr9��uhCj0��hY]r:��hdX���Version preservationr;��ÖÅr<��}r=��(hBX���Version preservationr>��hCj4��ubahKh¶ubahKhßubahKhøubhì)År?��}r@��(hBU�hM}rA��(hO]hP]hQ]hR]hU]uhCj˛��hY]rB��(hò)ÅrC��}rD��(hBU�hM}rE��(hO]hP]hQ]hR]hU]uhCj?��hY]rF��hù)ÅrG��}rH��(hBU�hM}rI��(hR]rJ��Uid36rK��ahQ]hO]hP]hU]UrefidU'working-drafts-vs-repository-publishingrL��uhCjC��hY]rM��hdX(���Working drafts vs. Repository publishingrN��ÖÅrO��}rP��(hBX(���Working drafts vs. Repository publishingrQ��hCjG��ubahKh¶ubahKhßubhç)ÅrR��}rS��(hBU�hM}rT��(hO]hP]hQ]hR]hU]uhCj?��hY]rU��hì)ÅrV��}rW��(hBU�hM}rX��(hO]hP]hQ]hR]hU]uhCjR��hY]rY��hò)ÅrZ��}r[��(hBU�hM}r\��(hO]hP]hQ]hR]hU]uhCjV��hY]r]��hù)År^��}r_��(hBU�hM}r`��(hR]ra��Uid37rb��ahQ]hO]hP]hU]UrefidUtypes-of-mutable-objectsrc��uhCjZ��hY]rd��hdX���Types of Mutable Objectsre��ÖÅrf��}rg��(hBX���Types of Mutable Objectsrh��hCj^��ubahKh¶ubahKhßubahKhøubahKhêubehKhøubhì)Åri��}rj��(hBU�hM}rk��(hO]hP]hQ]hR]hU]uhCj˛��hY]rl��hò)Årm��}rn��(hBU�hM}ro��(hO]hP]hQ]hR]hU]uhCji��hY]rp��hù)Årq��}rr��(hBU�hM}rs��(hR]rt��Uid38ru��ahQ]hO]hP]hU]UrefidUaccumulating-datasetsrv��uhCjm��hY]rw��hdX���Accumulating datasetsrx��ÖÅry��}rz��(hBX���Accumulating datasetsr{��hCjq��ubahKh¶ubahKhßubahKhøubhì)År|��}r}��(hBU�hM}r~��(hO]hP]hQ]hR]hU]uhCj˛��hY]r��(hò)ÅrÄ��}rÅ��(hBU�hM}rÇ��(hO]hP]hQ]hR]hU]uhCj|��hY]rÉ��hù)ÅrÑ��}rÖ��(hBU�hM}rÜ��(hR]rá��Uid39rà��ahQ]hO]hP]hU]UrefidUmixed-metadata-data-objectsrâ��uhCjÄ��hY]rä��hdX���Mixed metadata-data objectsrã��ÖÅrå��}rç��(hBX���Mixed metadata-data objectsré��hCjÑ��ubahKh¶ubahKhßubhç)Årè��}rê��(hBU�hM}rë��(hO]hP]hQ]hR]hU]uhCj|��hY]rí��hì)Årì��}rî��(hBU�hM}rï��(hO]hP]hQ]hR]hU]uhCjè��hY]rñ��hò)Åró��}rò��(hBU�hM}rô��(hO]hP]hQ]hR]hU]uhCjì��hY]rö��hù)Årõ��}rú��(hBU�hM}rù��(hR]rû��Uid40rü��ahQ]hO]hP]hU]UrefidUretrieval-citation-supportr†��uhCjó��hY]r°��hdX���Retrieval / Citation Supportr¢��ÖÅr£��}r§��(hBX���Retrieval / Citation Supportr•��hCjõ��ubahKh¶ubahKhßubahKhøubahKhêubehKhøubhì)År¶��}rß��(hBU�hM}r®��(hO]hP]hQ]hR]hU]uhCj˛��hY]r©��hò)År™��}r´��(hBU�hM}r¨��(hO]hP]hQ]hR]hU]uhCj¶��hY]r≠��hù)ÅrÆ��}rØ��(hBU�hM}r∞��(hR]r±��Uid41r≤��ahQ]hO]hP]hU]UrefidUretrieval-vs-resolutionr≥��uhCj™��hY]r¥��hdX���Retrieval vs. Resolutionrµ��ÖÅr∂��}r∑��(hBX���Retrieval vs. Resolutionr∏��hCjÆ��ubahKh¶ubahKhßubahKhøubhì)Årπ��}r∫��(hBU�hM}rª��(hO]hP]hQ]hR]hU]uhCj˛��hY]rº��hò)ÅrΩ��}ræ��(hBU�hM}rø��(hO]hP]hQ]hR]hU]uhCjπ��hY]r¿��hù)År¡��}r¬��(hBU�hM}r√��(hR]rƒ��Uid42r≈��ahQ]hO]hP]hU]UrefidUservice-development-plansr∆��uhCjΩ��hY]r«��hdX���Service development plansr»��ÖÅr…��}r ��(hBX���Service development plansrÀ��hCj¡��ubahKh¶ubahKhßubahKhøubhì)ÅrÃ��}rÕ��(hBU�hM}rŒ��(hO]hP]hQ]hR]hU]uhCj˛��hY]rœ��hò)År–��}r—��(hBU�hM}r“��(hO]hP]hQ]hR]hU]uhCjÃ��hY]r”��hù)År‘��}r’��(hBU�hM}r÷��(hR]r◊��Uid43rÿ��ahQ]hO]hP]hU]UrefidUmn-api-method-changesrŸ��uhCj–��hY]r⁄��hdX���MN API method changesr€��ÖÅr‹��}r›��(hBX���MN API method changesrfi��hCj‘��ubahKh¶ubahKhßubahKhøubhì)Årfl��}r‡��(hBU�hM}r·��(hO]hP]hQ]hR]hU]uhCj˛��hY]r‚��hò)År„��}r‰��(hBU�hM}rÂ��(hO]hP]hQ]hR]hU]uhCjfl��hY]rÊ��hù)ÅrÁ��}rË��(hBU�hM}rÈ��(hR]rÍ��Uid44rÎ��ahQ]hO]hP]hU]UrefidUcn-api-method-changesrÏ��uhCj„��hY]rÌ��hdX���CN API method changesrÓ��ÖÅrÔ��}r��(hBX���CN API method changesrÒ��hCjÁ��ubahKh¶ubahKhßubahKhøubehKhêubehKhøubhì)ÅrÚ��}rÛ��(hBU�hM}rÙ��(hO]hP]hQ]hR]hU]uhCh®hY]rı��(hò)Årˆ��}r˜��(hBU�hM}r¯��(hO]hP]hQ]hR]hU]uhCjÚ��hY]r˘��hù)År˙��}r˚��(hBU�hM}r¸��(hR]r˝��Uid45r˛��ahQ]hO]hP]hU]UrefidU	use-casesrˇ��uhCjˆ��hY]r���hdX	���Use Casesr��ÖÅr��}r��(hBX	���Use Casesr��hCj˙��ubahKh¶ubahKhßubhç)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCjÚ��hY]r��(hì)År	��}r
��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj��hY]r��hò)År
��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj	��hY]r��hù)År��}r��(hBU�hM}r��(hR]r��Uid46r��ahQ]hO]hP]hU]UrefidUdata-preservationr��uhCj
��hY]r��hdX���1. Data preservationr��ÖÅr��}r��(hBX���1. Data preservationr��hCj��ubahKh¶ubahKhßubahKhøubhì)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj��hY]r��hò)År ��}r!��(hBU�hM}r"��(hO]hP]hQ]hR]hU]uhCj��hY]r#��hù)År$��}r%��(hBU�hM}r&��(hR]r'��Uid47r(��ahQ]hO]hP]hU]UrefidU#mutable-content-member-node-supportr)��uhCj ��hY]r*��hdX&���2. Mutable Content Member Node supportr+��ÖÅr,��}r-��(hBX&���2. Mutable Content Member Node supportr.��hCj$��ubahKh¶ubahKhßubahKhøubhì)År/��}r0��(hBU�hM}r1��(hO]hP]hQ]hR]hU]uhCj��hY]r2��(hò)År3��}r4��(hBU�hM}r5��(hO]hP]hQ]hR]hU]uhCj/��hY]r6��hù)År7��}r8��(hBU�hM}r9��(hR]r:��Uid48r;��ahQ]hO]hP]hU]UrefidUcitation-supportr<��uhCj3��hY]r=��hdX���3. Citation supportr>��ÖÅr?��}r@��(hBX���3. Citation supportrA��hCj7��ubahKh¶ubahKhßubhç)ÅrB��}rC��(hBU�hM}rD��(hO]hP]hQ]hR]hU]uhCj/��hY]rE��hì)ÅrF��}rG��(hBU�hM}rH��(hO]hP]hQ]hR]hU]uhCjB��hY]rI��hò)ÅrJ��}rK��(hBU�hM}rL��(hO]hP]hQ]hR]hU]uhCjF��hY]rM��hù)ÅrN��}rO��(hBU�hM}rP��(hR]rQ��Uid49rR��ahQ]hO]hP]hU]UrefidUoptionalrS��uhCjJ��hY]rT��hdX���OptionalrU��ÖÅrV��}rW��(hBX���OptionalrX��hCjN��ubahKh¶ubahKhßubahKhøubahKhêubehKhøubhì)ÅrY��}rZ��(hBU�hM}r[��(hO]hP]hQ]hR]hU]uhCj��hY]r\��hò)År]��}r^��(hBU�hM}r_��(hO]hP]hQ]hR]hU]uhCjY��hY]r`��hù)Åra��}rb��(hBU�hM}rc��(hR]rd��Uid50re��ahQ]hO]hP]hU]UrefidU0support-for-frequently-changing-overwritten-datarf��uhCj]��hY]rg��hdX5���4. Support for frequently changing / overwritten datarh��ÖÅri��}rj��(hBX5���4. Support for frequently changing / overwritten datark��hCja��ubahKh¶ubahKhßubahKhøubhì)Årl��}rm��(hBU�hM}rn��(hO]hP]hQ]hR]hU]uhCj��hY]ro��hò)Årp��}rq��(hBU�hM}rr��(hO]hP]hQ]hR]hU]uhCjl��hY]rs��hù)Årt��}ru��(hBU�hM}rv��(hR]rw��Uid51rx��ahQ]hO]hP]hU]UrefidU!support-for-accumulating-datasetsry��uhCjp��hY]rz��hdX$���5. Support for accumulating datasetsr{��ÖÅr|��}r}��(hBX$���5. Support for accumulating datasetsr~��hCjt��ubahKh¶ubahKhßubahKhøubhì)År��}rÄ��(hBU�hM}rÅ��(hO]hP]hQ]hR]hU]uhCj��hY]rÇ��hò)ÅrÉ��}rÑ��(hBU�hM}rÖ��(hO]hP]hQ]hR]hU]uhCj��hY]rÜ��hù)Årá��}rà��(hBU�hM}râ��(hR]rä��Uid52rã��ahQ]hO]hP]hU]UrefidU'support-for-mixed-metadata-data-objectsrå��uhCjÉ��hY]rç��hdX*���6. Support for mixed metadata/data objectsré��ÖÅrè��}rê��(hBX*���6. Support for mixed metadata/data objectsrë��hCjá��ubahKh¶ubahKhßubahKhøubhì)Årí��}rì��(hBU�hM}rî��(hO]hP]hQ]hR]hU]uhCj��hY]rï��hò)Årñ��}ró��(hBU�hM}rò��(hO]hP]hQ]hR]hU]uhCjí��hY]rô��hù)Årö��}rõ��(hBU�hM}rú��(hR]rù��Uid53rû��ahQ]hO]hP]hU]UrefidU"supporting-unrecorded-data-streamsrü��uhCjñ��hY]r†��hdX'���7. Supporting 'unrecorded' data streamsr°��ÖÅr¢��}r£��(hBX'���7. Supporting 'unrecorded' data streamsr§��hCjö��ubahKh¶ubahKhßubahKhøubehKhêubehKhøubehKhêubehKhøubaubeubhD)År•��}r¶��(hBU�hChGhIhJhKhLhM}rß��(hO]hP]hQ]hR]r®��hπahU]r©��hauhWK	hXhhY]r™��(h[)År´��}r¨��(hBhæhCj•��hIhJhKh_hM}r≠��(hR]hQ]hO]hP]hU]hah∏uhWK	hXhhY]rÆ��hdX���OverviewrØ��ÖÅr∞��}r±��(hBhæhCj´��ubaubhò)År≤��}r≥��(hBX€��All content synchronized by DataONE is immutable, and so resolution of a
:term:`persistent identifier` (PID) will always result in a pointer (URI) to a set of
bytes that are in all respects identical to the original. Version 2.0 of the
DataONE APIs introduced the ability to associate an optional series identifier
(SID) with an object. Unlike a PID, resolution of a SID will always result in a
pointer (URI) to a set of bytes that represent the latest revision of an object.hCj•��hIhJhKhßhM}r¥��(hO]hP]hQ]hR]hU]uhWKhXhhY]rµ��(hdXI���All content synchronized by DataONE is immutable, and so resolution of a
r∂��ÖÅr∑��}r∏��(hBXI���All content synchronized by DataONE is immutable, and so resolution of a
hCj≤��ubcsphinx.addnodes
pending_xref
rπ��)År∫��}rª��(hBX���:term:`persistent identifier`rº��hCj≤��hIhJhKUpending_xrefrΩ��hM}ræ��(UreftypeX���termUrefwarnrø��àU	reftargetr¿��X���persistent identifierU	refdomainX���stdr¡��hR]hQ]UrefexplicitâhO]hP]hU]Urefdocr¬��X���design/ContentMutabilityr√��uhWKhY]rƒ��cdocutils.nodes
inline
r≈��)År∆��}r«��(hBjº��hM}r»��(hO]hP]r…��(Uxrefr ��j¡��X���std-termrÀ��ehQ]hR]hU]uhCj∫��hY]rÃ��hdX���persistent identifierrÕ��ÖÅrŒ��}rœ��(hBU�hCj∆��ubahKhrubaubhdXu�� (PID) will always result in a pointer (URI) to a set of
bytes that are in all respects identical to the original. Version 2.0 of the
DataONE APIs introduced the ability to associate an optional series identifier
(SID) with an object. Unlike a PID, resolution of a SID will always result in a
pointer (URI) to a set of bytes that represent the latest revision of an object.r–��ÖÅr—��}r“��(hBXu�� (PID) will always result in a pointer (URI) to a set of
bytes that are in all respects identical to the original. Version 2.0 of the
DataONE APIs introduced the ability to associate an optional series identifier
(SID) with an object. Unlike a PID, resolution of a SID will always result in a
pointer (URI) to a set of bytes that represent the latest revision of an object.hCj≤��ubeubhò)År”��}r‘��(hBX∆��A revision or obsolescence chain is constructed by setting the obsoletes and
obsoletedBy properties of the new and old objects respectively. For example,
here PID_B represents the latest revision of object as it obsoletes PID_A
(object PID_A has a value of "PID_B" in its system metadata
:attr:`~Types.SystemMetadata.obsoletedBy` property, and object PID_B has a
value of "PID_A" in its system metadata :attr:`~Types.SystemMetadata.obsoletes`
property)::hCj•��hIhJhKhßhM}r’��(hO]hP]hQ]hR]hU]uhWKhXhhY]r÷��(hdX ��A revision or obsolescence chain is constructed by setting the obsoletes and
obsoletedBy properties of the new and old objects respectively. For example,
here PID_B represents the latest revision of object as it obsoletes PID_A
(object PID_A has a value of "PID_B" in its system metadata
r◊��ÖÅrÿ��}rŸ��(hBX ��A revision or obsolescence chain is constructed by setting the obsoletes and
obsoletedBy properties of the new and old objects respectively. For example,
here PID_B represents the latest revision of object as it obsoletes PID_A
(object PID_A has a value of "PID_B" in its system metadata
hCj”��ubjπ��)År⁄��}r€��(hBX)���:attr:`~Types.SystemMetadata.obsoletedBy`r‹��hCj”��hIhJhKjΩ��hM}r›��(UreftypeX���attrjø��âj¿��X ���Types.SystemMetadata.obsoletedByU	refdomainX���pyrfi��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��Upy:classrfl��NU	py:moduler‡��NuhWKhY]r·��cdocutils.nodes
literal
r‚��)År„��}r‰��(hBj‹��hM}rÂ��(hO]hP]rÊ��(j ��jfi��X���py-attrrÁ��ehQ]hR]hU]uhCj⁄��hY]rË��hdX���obsoletedByrÈ��ÖÅrÍ��}rÎ��(hBU�hCj„��ubahKUliteralrÏ��ubaubhdXJ��� property, and object PID_B has a
value of "PID_A" in its system metadata rÌ��ÖÅrÓ��}rÔ��(hBXJ��� property, and object PID_B has a
value of "PID_A" in its system metadata hCj”��ubjπ��)År��}rÒ��(hBX'���:attr:`~Types.SystemMetadata.obsoletes`rÚ��hCj”��hIhJhKjΩ��hM}rÛ��(UreftypeX���attrjø��âj¿��X���Types.SystemMetadata.obsoletesU	refdomainX���pyrÙ��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKhY]rı��j‚��)Årˆ��}r˜��(hBjÚ��hM}r¯��(hO]hP]r˘��(j ��jÙ��X���py-attrr˙��ehQ]hR]hU]uhCj��hY]r˚��hdX	���obsoletesr¸��ÖÅr˝��}r˛��(hBU�hCjˆ��ubahKjÏ��ubaubhdX���
property):rˇ��ÖÅr���}r��(hBX���
property):hCj”��ubeubcdocutils.nodes
literal_block
r��)År��}r��(hBXI��+------------+                      +------------+
|            | ----- obsoletes ---> |            |
|   PID_B    |                      |   PID_A    |
|            | <--- obsoletedBy --- |            |
+------------+                      +------------+

             resolve(PID_A) => PID_A
             resolve(PID_B) => PID_BhCj•��hIhJhKU
literal_blockr��hM}r��(U	xml:spacer��Upreserver��hR]hQ]hO]hP]hU]uhWKhXhhY]r	��hdXI��+------------+                      +------------+
|            | ----- obsoletes ---> |            |
|   PID_B    |                      |   PID_A    |
|            | <--- obsoletedBy --- |            |
+------------+                      +------------+

             resolve(PID_A) => PID_A
             resolve(PID_B) => PID_Br
��ÖÅr��}r��(hBU�hCj��ubaubhò)År
��}r��(hBX"��In version 1.x of DataONE, it was necessary to manually follow the obsolescence
chain in order to find the latest version of an object. This process is
simplified in version 2.x and later through the use of series identifiers. The
previous example can be augmented with series identifiers::hCj•��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWK%hXhhY]r��hdX!��In version 1.x of DataONE, it was necessary to manually follow the obsolescence
chain in order to find the latest version of an object. This process is
simplified in version 2.x and later through the use of series identifiers. The
previous example can be augmented with series identifiers:r��ÖÅr��}r��(hBX!��In version 1.x of DataONE, it was necessary to manually follow the obsolescence
chain in order to find the latest version of an object. This process is
simplified in version 2.x and later through the use of series identifiers. The
previous example can be augmented with series identifiers:hCj
��ubaubj��)År��}r��(hBX°��+------------+                      +------------+
|            | ----- obsoletes ---> |            |
|   PID_B    |                      |   PID_A    |
|   SID_1    |                      |   SID_1    |
|            | <--- obsoletedBy --- |            |
+------------+                      +------------+

             resolve(PID_A) => PID_A
             resolve(PID_B) => PID_B
             resolve(SID_1) => PID_BhCj•��hIhJhKj��hM}r��(j��j��hR]hQ]hO]hP]hU]uhWK+hXhhY]r��hdX°��+------------+                      +------------+
|            | ----- obsoletes ---> |            |
|   PID_B    |                      |   PID_A    |
|   SID_1    |                      |   SID_1    |
|            | <--- obsoletedBy --- |            |
+------------+                      +------------+

             resolve(PID_A) => PID_A
             resolve(PID_B) => PID_B
             resolve(SID_1) => PID_Br��ÖÅr��}r��(hBU�hCj��ubaubhò)År��}r��(hBX$��Each object in the obsolescence chain has the same value for the series
identifier ("SID_1"), and calling :func:`~CNRead.resolve` with the value "SID_1"
will result in the URIs from which the object "PID_B" may be retrieved, since
that object is the latest revision in the obsolescence chain.hCj•��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWK7hXhhY]r��(hdXj���Each object in the obsolescence chain has the same value for the series
identifier ("SID_1"), and calling r��ÖÅr ��}r!��(hBXj���Each object in the obsolescence chain has the same value for the series
identifier ("SID_1"), and calling hCj��ubjπ��)År"��}r#��(hBX���:func:`~CNRead.resolve`r$��hCj��hIhJhKjΩ��hM}r%��(UreftypeX���funcjø��âj¿��X���CNRead.resolveU	refdomainX���pyr&��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWK7hY]r'��j‚��)År(��}r)��(hBj$��hM}r*��(hO]hP]r+��(j ��j&��X���py-funcr,��ehQ]hR]hU]uhCj"��hY]r-��hdX	���resolve()r.��ÖÅr/��}r0��(hBU�hCj(��ubahKjÏ��ubaubhdX£��� with the value "SID_1"
will result in the URIs from which the object "PID_B" may be retrieved, since
that object is the latest revision in the obsolescence chain.r1��ÖÅr2��}r3��(hBX£��� with the value "SID_1"
will result in the URIs from which the object "PID_B" may be retrieved, since
that object is the latest revision in the obsolescence chain.hCj��ubeubhò)År4��}r5��(hBX��The availability of PIDs and SIDs means users may now refer to objects using
either a PID when it is necessary or appropriate to refer to an exact set of
bytes that represent an object or through a SID when referring to the latest
version of an object. The former is important for repeatable analyses, since
the same content may be reliably referenced and retrieved. The latter is
important for referencing the most up to date revision of some object, and so
may be useful for example to perform anaysis with the latest information
available.r6��hCj•��hIhJhKhßhM}r7��(hO]hP]hQ]hR]hU]uhWK<hXhhY]r8��hdX��The availability of PIDs and SIDs means users may now refer to objects using
either a PID when it is necessary or appropriate to refer to an exact set of
bytes that represent an object or through a SID when referring to the latest
version of an object. The former is important for repeatable analyses, since
the same content may be reliably referenced and retrieved. The latter is
important for referencing the most up to date revision of some object, and so
may be useful for example to perform anaysis with the latest information
available.r9��ÖÅr:��}r;��(hBj6��hCj4��ubaubhò)År<��}r=��(hBXú���Unless indicated otherwise, the DataONE version 2.x and later APIs will accept
either a PID or a SID when an identifier is specified as a request parameter.r>��hCj•��hIhJhKhßhM}r?��(hO]hP]hQ]hR]hU]uhWKEhXhhY]r@��hdXú���Unless indicated otherwise, the DataONE version 2.x and later APIs will accept
either a PID or a SID when an identifier is specified as a request parameter.rA��ÖÅrB��}rC��(hBj>��hCj<��ubaubeubhEhD)ÅrD��}rE��(hBU�hChGhIhJhKhLhM}rF��(hO]hP]hQ]hR]rG��jM��ahU]rH��hauhWMìhXhhY]rI��(h[)ÅrJ��}rK��(hBjR��hCjD��hIhJhKh_hM}rL��(hR]hQ]hO]hP]hU]hajL��uhWMìhXhhY]rM��hdX!���Referencing Content by IdentifierrN��ÖÅrO��}rP��(hBjR��hCjJ��ubaubhò)ÅrQ��}rR��(hBX˘��The use of the PID or SID for either citation or analysis workflows is up to the
user and is context dependent. In general, DataONE anticipates ``DATA`` and
``RESOURCE_MAP``  objects will be referenced by PID, to ensure reproducibility;
and in general,  ``METADATA`` documents will be referenced by SID, to take
advantage of any data  curation / correction efforts that would not otherwise
affect scientific  reproducibility.  Additionally, clues for the content
submitter's preference can  be found in the format of the identifiers
themselves. For example, DOIs and EZIDs  take a recognizable format, and are
often encouraged in scientific communities for  citations, so an end-user might
take that into consideration when deciding which  identifier to choose.hCjD��hIhJhKhßhM}rS��(hO]hP]hQ]hR]hU]uhWMïhXhhY]rT��(hdXê���The use of the PID or SID for either citation or analysis workflows is up to the
user and is context dependent. In general, DataONE anticipates rU��ÖÅrV��}rW��(hBXê���The use of the PID or SID for either citation or analysis workflows is up to the
user and is context dependent. In general, DataONE anticipates hCjQ��ubj‚��)ÅrX��}rY��(hBX���``DATA``hM}rZ��(hO]hP]hQ]hR]hU]uhCjQ��hY]r[��hdX���DATAr\��ÖÅr]��}r^��(hBU�hCjX��ubahKjÏ��ubhdX��� and
r_��ÖÅr`��}ra��(hBX��� and
hCjQ��ubj‚��)Årb��}rc��(hBX���``RESOURCE_MAP``hM}rd��(hO]hP]hQ]hR]hU]uhCjQ��hY]re��hdX���RESOURCE_MAPrf��ÖÅrg��}rh��(hBU�hCjb��ubahKjÏ��ubhdXQ���  objects will be referenced by PID, to ensure reproducibility;
and in general,  ri��ÖÅrj��}rk��(hBXQ���  objects will be referenced by PID, to ensure reproducibility;
and in general,  hCjQ��ubj‚��)Årl��}rm��(hBX���``METADATA``hM}rn��(hO]hP]hQ]hR]hU]uhCjQ��hY]ro��hdX���METADATArp��ÖÅrq��}rr��(hBU�hCjl��ubahKjÏ��ubhdXÔ�� documents will be referenced by SID, to take
advantage of any data  curation / correction efforts that would not otherwise
affect scientific  reproducibility.  Additionally, clues for the content
submitter's preference can  be found in the format of the identifiers
themselves. For example, DOIs and EZIDs  take a recognizable format, and are
often encouraged in scientific communities for  citations, so an end-user might
take that into consideration when deciding which  identifier to choose.rs��ÖÅrt��}ru��(hBXÔ�� documents will be referenced by SID, to take
advantage of any data  curation / correction efforts that would not otherwise
affect scientific  reproducibility.  Additionally, clues for the content
submitter's preference can  be found in the format of the identifiers
themselves. For example, DOIs and EZIDs  take a recognizable format, and are
often encouraged in scientific communities for  citations, so an end-user might
take that into consideration when deciding which  identifier to choose.hCjQ��ubeubhs)Årv��}rw��(hBU�hCjD��hIhJhKhvhM}rx��(hR]hQ]hO]hP]hU]haUindex-1ry��uhWNhXhhY]ubcsphinx.ext.todo
todo_node
rz��)År{��}r|��(hBXq���guidance on RESOURCE_MAPS - initial thoughts: depends on references to DATA
objects, whether they be SIDs or PIDsr}��hCjD��hIhJh{}hKU	todo_noder~��hM}r��(hO]hP]rÄ��Uadmonition-todorÅ��ahQ]hR]rÇ��jy��ahU]uhWM†hXhhÉ}rÉ��jy��jv��shY]rÑ��(h[)ÅrÖ��}rÜ��(hBX���Todorá��hM}rà��(hO]hP]hQ]hR]hU]uhCj{��hY]râ��hdX���Todorä��ÖÅrã��}rå��(hBU�hCjÖ��ubahKh_ubhò)Årç��}ré��(hBXq���guidance on RESOURCE_MAPS - initial thoughts: depends on references to DATA
objects, whether they be SIDs or PIDsrè��hCj{��hIhJhKhßhM}rê��(hO]hP]hQ]hR]hU]uhWM¢hY]rë��hdXq���guidance on RESOURCE_MAPS - initial thoughts: depends on references to DATA
objects, whether they be SIDs or PIDsrí��ÖÅrì��}rî��(hBjè��hCjç��ubaubeubeubhD)Årï��}rñ��(hBU�hChGhIhJhKhLhM}ró��(hO]hP]hQ]hR]rò��j`��ahU]rô��hauhWMßhXhhY]rö��(h[)Årõ��}rú��(hBje��hCjï��hIhJhKh_hM}rù��(hR]hQ]hO]hP]hU]haj_��uhWMßhXhhY]rû��hdX���Assigning Identifiersrü��ÖÅr†��}r°��(hBje��hCjõ��ubaubhò)År¢��}r£��(hBX˜���Depending on the Member Node used as the primary repository, content originators
may have some choice in assigning identifiers. For those that do, it is advised
that they assign PIDs and SIDs according to the typical usage pattern described
above.r§��hCjï��hIhJhKhßhM}r•��(hO]hP]hQ]hR]hU]uhWM©hXhhY]r¶��hdX˜���Depending on the Member Node used as the primary repository, content originators
may have some choice in assigning identifiers. For those that do, it is advised
that they assign PIDs and SIDs according to the typical usage pattern described
above.rß��ÖÅr®��}r©��(hBj§��hCj¢��ubaubhò)År™��}r´��(hBXN��Some Member Nodes may not preserve past versions of content, in which case the
PID is likely to be automatically generated, and the submitter only has to
determine the SID, and may not need to know the difference between the SID and
PID.  Other Member Nodes may still be at v1 of the DataONE APIs and only allow
assignment of the PID.r¨��hCjï��hIhJhKhßhM}r≠��(hO]hP]hQ]hR]hU]uhWMÆhXhhY]rÆ��hdXN��Some Member Nodes may not preserve past versions of content, in which case the
PID is likely to be automatically generated, and the submitter only has to
determine the SID, and may not need to know the difference between the SID and
PID.  Other Member Nodes may still be at v1 of the DataONE APIs and only allow
assignment of the PID.rØ��ÖÅr∞��}r±��(hBj¨��hCj™��ubaubeubhD)År≤��}r≥��(hBU�hChGhIhJhKhLhM}r¥��(hO]hP]hQ]hR]rµ��js��ahU]r∂��hauhWM∂hXhhY]r∑��(h[)År∏��}rπ��(hBjx��hCj≤��hIhJhKh_hM}r∫��(hR]hQ]hO]hP]hU]hajr��uhWM∂hXhhY]rª��hdX���Limits on the Seriesrº��ÖÅrΩ��}ræ��(hBjx��hCj∏��ubaubhò)Årø��}r¿��(hBXX��The SID is used to conceptually represent an object that may vary modestly over
time, but remains conceptually the same. Content contributers should be careful
to apply reasonable limits on the scope of documents such that an entity does
not deviate too much from the original item.  In such cases, a new / different
series should be initiated.r¡��hCj≤��hIhJhKhßhM}r¬��(hO]hP]hQ]hR]hU]uhWM∏hXhhY]r√��hdXX��The SID is used to conceptually represent an object that may vary modestly over
time, but remains conceptually the same. Content contributers should be careful
to apply reasonable limits on the scope of documents such that an entity does
not deviate too much from the original item.  In such cases, a new / different
series should be initiated.rƒ��ÖÅr≈��}r∆��(hBj¡��hCjø��ubaubeubhD)År«��}r»��(hBU�hChGhIhJhKhLhM}r…��(hO]hP]hQ]hR]r ��jÜ��ahU]rÀ��hauhWM¿hXhhY]rÃ��(h[)ÅrÕ��}rŒ��(hBjã��hCj«��hIhJhKh_hM}rœ��(hR]hQ]hO]hP]hU]hajÖ��uhWM¿hXhhY]r–��hdX+���Requirements on Member Node Implementationsr—��ÖÅr“��}r”��(hBjã��hCjÕ��ubaubhò)År‘��}r’��(hBX≈���For Member Nodes that employ a mutable content storage model, the only
additional DataONE requirement is that the Member Node generate a SystemMetadata
document for the updated content, containing:r÷��hCj«��hIhJhKhßhM}r◊��(hO]hP]hQ]hR]hU]uhWM¬hXhhY]rÿ��hdX≈���For Member Nodes that employ a mutable content storage model, the only
additional DataONE requirement is that the Member Node generate a SystemMetadata
document for the updated content, containing:rŸ��ÖÅr⁄��}r€��(hBj÷��hCj‘��ubaubcdocutils.nodes
block_quote
r‹��)År›��}rfi��(hBU�hCj«��hINhKUblock_quoterfl��hM}r‡��(hO]hP]hQ]hR]hU]uhWNhXhhY]r·��cdocutils.nodes
enumerated_list
r‚��)År„��}r‰��(hBU�hM}rÂ��(UsuffixrÊ��U.hR]hQ]hO]UprefixrÁ��U�hP]hU]UenumtyperË��UarabicrÈ��uhCj›��hY]rÍ��(hì)ÅrÎ��}rÏ��(hBX.���unique PID in systemMetadata.identifier field
hM}rÌ��(hO]hP]hQ]hR]hU]uhCj„��hY]rÓ��hò)ÅrÔ��}r��(hBX-���unique PID in systemMetadata.identifier fieldrÒ��hCjÎ��hIhJhKhßhM}rÚ��(hO]hP]hQ]hR]hU]uhWM∆hY]rÛ��hdX-���unique PID in systemMetadata.identifier fieldrÙ��ÖÅrı��}rˆ��(hBjÒ��hCjÔ��ubaubahKhøubhì)År˜��}r¯��(hBX
���new checksum
hM}r˘��(hO]hP]hQ]hR]hU]uhCj„��hY]r˙��hò)År˚��}r¸��(hBX���new checksumr˝��hCj˜��hIhJhKhßhM}r˛��(hO]hP]hQ]hR]hU]uhWM»hY]rˇ��hdX���new checksumr���ÖÅr��}r��(hBj˝��hCj˚��ubaubahKhøubhì)År��}r��(hBX7���the previous PID in the systemMetadata.obsoletes field
hM}r��(hO]hP]hQ]hR]hU]uhCj„��hY]r��hò)År��}r��(hBX6���the previous PID in the systemMetadata.obsoletes fieldr	��hCj��hIhJhKhßhM}r
��(hO]hP]hQ]hR]hU]uhWM hY]r��hdX6���the previous PID in the systemMetadata.obsoletes fieldr��ÖÅr
��}r��(hBj	��hCj��ubaubahKhøubehKUenumerated_listr��ubaubhò)År��}r��(hBX§���Ideally, the SystemMetadata of now unavailable versions will be maintained, and
the ``obsoletedBy`` field is populated with the PID of the version that replaced
it.hCj«��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWMÃhXhhY]r��(hdXT���Ideally, the SystemMetadata of now unavailable versions will be maintained, and
the r��ÖÅr��}r��(hBXT���Ideally, the SystemMetadata of now unavailable versions will be maintained, and
the hCj��ubj‚��)År��}r��(hBX���``obsoletedBy``hM}r��(hO]hP]hQ]hR]hU]uhCj��hY]r��hdX���obsoletedByr��ÖÅr��}r��(hBU�hCj��ubahKjÏ��ubhdXA��� field is populated with the PID of the version that replaced
it.r��ÖÅr��}r ��(hBXA��� field is populated with the PID of the version that replaced
it.hCj��ubeubhò)År!��}r"��(hBXé���Some Member Nodes may opt to preserve recent back-versions to aid the complete
capture of versions by the DataONE network via synchronization.r#��hCj«��hIhJhKhßhM}r$��(hO]hP]hQ]hR]hU]uhWM–hXhhY]r%��hdXé���Some Member Nodes may opt to preserve recent back-versions to aid the complete
capture of versions by the DataONE network via synchronization.r&��ÖÅr'��}r(��(hBj#��hCj!��ubaubeubhD)År)��}r*��(hBU�hChGhIhJhKhLhM}r+��(hO]hP]hQ]hR]r,��jô��ahU]r-��hauhWM’hXhhY]r.��(h[)År/��}r0��(hBjû��hCj)��hIhJhKh_hM}r1��(hR]hQ]hO]hP]hU]hajò��uhWM’hXhhY]r2��hdXC���Reassignment of AuthoritativeMemberNode field for unhosted versionsr3��ÖÅr4��}r5��(hBjû��hCj/��ubaubhò)År6��}r7��(hBX���to be determinedr8��hCj)��hIhJhKhßhM}r9��(hO]hP]hQ]hR]hU]uhWM◊hXhhY]r:��hdX���to be determinedr;��ÖÅr<��}r=��(hBj8��hCj6��ubaubeubhD)År>��}r?��(hBU�hChGhIhJhKhLhM}r@��(hO]hP]hQ]hR]rA��j¨��ahU]rB��hauhWM€hXhhY]rC��(h[)ÅrD��}rE��(hBj±��hCj>��hIhJhKh_hM}rF��(hR]hQ]hO]hP]hU]haj´��uhWM€hXhhY]rG��hdX%���Replication of unhosted back-versionsrH��ÖÅrI��}rJ��(hBj±��hCjD��ubaubhò)ÅrK��}rL��(hBXù��DataONE will attempt to synchronize all versions it's made aware of through the
synchronization process, but may miss short-lived versions that are in existence
only between the Member Node's synchronization interval.    Please note, also,
that the synchronization schedule is not guaranteed.  Periods of DataONE
maintenance may suspend synchronization, or high CN load could prolong the
synchronization interval.rM��hCj>��hIhJhKhßhM}rN��(hO]hP]hQ]hR]hU]uhWM›hXhhY]rO��hdXù��DataONE will attempt to synchronize all versions it's made aware of through the
synchronization process, but may miss short-lived versions that are in existence
only between the Member Node's synchronization interval.    Please note, also,
that the synchronization schedule is not guaranteed.  Periods of DataONE
maintenance may suspend synchronization, or high CN load could prolong the
synchronization interval.rP��ÖÅrQ��}rR��(hBjM��hCjK��ubaubhò)ÅrS��}rT��(hBXÏ���Member Nodes keen to make sure versions have the highest chance of
synchronization can choose to issue a :func:`CNCore.synchronize` command that
will put the item on the synchronization queue instead of waiting for the
harvest interval.hCj>��hIhJhKhßhM}rU��(hO]hP]hQ]hR]hU]uhWM‰hXhhY]rV��(hdXi���Member Nodes keen to make sure versions have the highest chance of
synchronization can choose to issue a rW��ÖÅrX��}rY��(hBXi���Member Nodes keen to make sure versions have the highest chance of
synchronization can choose to issue a hCjS��ubjπ��)ÅrZ��}r[��(hBX���:func:`CNCore.synchronize`r\��hCjS��hIhJhKjΩ��hM}r]��(UreftypeX���funcjø��âj¿��X���CNCore.synchronizeU	refdomainX���pyr^��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWM‰hY]r_��j‚��)År`��}ra��(hBj\��hM}rb��(hO]hP]rc��(j ��j^��X���py-funcrd��ehQ]hR]hU]uhCjZ��hY]re��hdX���CNCore.synchronize()rf��ÖÅrg��}rh��(hBU�hCj`��ubahKjÏ��ubaubhdXi��� command that
will put the item on the synchronization queue instead of waiting for the
harvest interval.ri��ÖÅrj��}rk��(hBXi��� command that
will put the item on the synchronization queue instead of waiting for the
harvest interval.hCjS��ubeubhò)Årl��}rm��(hBX°���Conversely, if the Member Node expressly doesn't want DataONE to preserve
back-versions, they can set systemMetadata.replicationPolicy.numberReplicas
field to 0.rn��hCj>��hIhJhKhßhM}ro��(hO]hP]hQ]hR]hU]uhWMÈhXhhY]rp��hdX°���Conversely, if the Member Node expressly doesn't want DataONE to preserve
back-versions, they can set systemMetadata.replicationPolicy.numberReplicas
field to 0.rq��ÖÅrr��}rs��(hBjn��hCjl��ubaubeubhD)Årt��}ru��(hBU�hChGhIhJhKhLhM}rv��(hO]hP]hQ]hR]rw��jø��ahU]rx��h;auhWMÔhXhhY]ry��(h[)Årz��}r{��(hBjƒ��hCjt��hIhJhKh_hM}r|��(hR]hQ]hO]hP]hU]hajæ��uhWMÔhXhhY]r}��hdX/���Synchronizing Content from Mutable Member Nodesr~��ÖÅr��}rÄ��(hBjƒ��hCjz��ubaubhò)ÅrÅ��}rÇ��(hBX¨��At its core, DataONE is in the business of preserving definite versions of
content through centrally coordinated per-to-peer replication.  That is, DataONE
Coordinating Nodes direct certain Member Nodes to replicate newly synchronized
objects from the originating Member Node to better preserve it.  New versions of
objects appear as first class immutable objects with unique PIDs, even if
originating from mutable Member Nodes.rÉ��hCjt��hIhJhKhßhM}rÑ��(hO]hP]hQ]hR]hU]uhWMÒhXhhY]rÖ��hdX¨��At its core, DataONE is in the business of preserving definite versions of
content through centrally coordinated per-to-peer replication.  That is, DataONE
Coordinating Nodes direct certain Member Nodes to replicate newly synchronized
objects from the originating Member Node to better preserve it.  New versions of
objects appear as first class immutable objects with unique PIDs, even if
originating from mutable Member Nodes.rÜ��ÖÅrá��}rà��(hBjÉ��hCjÅ��ubaubhò)Årâ��}rä��(hBXÃ���From the DataONE perspective the only difference between objects from mutable
Member Nodes and immutable Member Nodes is the completeness of the series of
versions it is able to synchronize and replicate.rã��hCjt��hIhJhKhßhM}rå��(hO]hP]hQ]hR]hU]uhWM¯hXhhY]rç��hdXÃ���From the DataONE perspective the only difference between objects from mutable
Member Nodes and immutable Member Nodes is the completeness of the series of
versions it is able to synchronize and replicate.ré��ÖÅrè��}rê��(hBjã��hCjâ��ubaubeubhD)Årë��}rí��(hBU�hChGhIhJhKhLhM}rì��(hO]hP]hQ]hR]rî��j“��ahU]rï��hauhWMˇhXhhY]rñ��(h[)Åró��}rò��(hBj◊��hCjë��hIhJhKh_hM}rô��(hR]hQ]hO]hP]hU]haj—��uhWMˇhXhhY]rö��hdX���The Problemrõ��ÖÅrú��}rù��(hBj◊��hCjó��ubaubhò)Årû��}rü��(hBX*��Current DataONE replication processes and fixity checks depend on content
identified by a PID that does not change. If this were not enforced, mutable
content from a member node would not be differentiated from corrupt copies of
the object and our replication and recovery features would attempt to correct
the byte inconsistency. The immutability requirement helps to ensure
reproducible results of any use of an object. Any analysis on a data set
repeated sometime in the future should yield identical results (within the
limits of precision of the analytical tools) and this is one of the major
guiding principles in creating DataONE as a long term data repository
federation. By simply overwriting existing content using the same identifier,
nodes cannot be relied upon for repeatable retrieval of content.r†��hCjë��hIhJhKhßhM}r°��(hO]hP]hQ]hR]hU]uhWMhXhhY]r¢��hdX*��Current DataONE replication processes and fixity checks depend on content
identified by a PID that does not change. If this were not enforced, mutable
content from a member node would not be differentiated from corrupt copies of
the object and our replication and recovery features would attempt to correct
the byte inconsistency. The immutability requirement helps to ensure
reproducible results of any use of an object. Any analysis on a data set
repeated sometime in the future should yield identical results (within the
limits of precision of the analytical tools) and this is one of the major
guiding principles in creating DataONE as a long term data repository
federation. By simply overwriting existing content using the same identifier,
nodes cannot be relied upon for repeatable retrieval of content.r£��ÖÅr§��}r•��(hBj†��hCjû��ubaubeubhD)År¶��}rß��(hBU�hChGhIhJhKhLhM}r®��(hO]hP]hQ]hR]r©��jÂ��ahU]r™��h%auhWMhXhhY]r´��(h[)År¨��}r≠��(hBjÍ��hCj¶��hIhJhKh_hM}rÆ��(hR]hQ]hO]hP]hU]haj‰��uhWMhXhhY]rØ��hdX���Proposalr∞��ÖÅr±��}r≤��(hBjÍ��hCj¨��ubaubhò)År≥��}r¥��(hBX��The proposal for supporting "mutable" content is to allow a series identifier
(SID) to facilitate the semantics of citing an object at the conceptual level,
instead of the version level. As content changes over time, new identifiers
(PIDs) will still be used to mark each change, but the conceptual object can
continue to be referred to with an unchanging identifier (SID). The member node
will be responsible for creating each version and assigning a unique PID to it
and these objects will be synchronized and replicated to other DataONE member
nodes as they are today. So instead of allowing content to be directly modified,
we are allowing strongly-versioned chains to be referenced by an identifier; and
relaxing the requirement that all revisions be resolvable forever.rµ��hCj¶��hIhJhKhßhM}r∂��(hO]hP]hQ]hR]hU]uhWMhXhhY]r∑��hdX��The proposal for supporting "mutable" content is to allow a series identifier
(SID) to facilitate the semantics of citing an object at the conceptual level,
instead of the version level. As content changes over time, new identifiers
(PIDs) will still be used to mark each change, but the conceptual object can
continue to be referred to with an unchanging identifier (SID). The member node
will be responsible for creating each version and assigning a unique PID to it
and these objects will be synchronized and replicated to other DataONE member
nodes as they are today. So instead of allowing content to be directly modified,
we are allowing strongly-versioned chains to be referenced by an identifier; and
relaxing the requirement that all revisions be resolvable forever.r∏��ÖÅrπ��}r∫��(hBjµ��hCj≥��ubaubeubhD)Årª��}rº��(hBU�hChGhIhJhKhLhM}rΩ��(hO]hP]hQ]hR]ræ��j¯��ahU]rø��h
auhWMhXhhY]r¿��(h[)År¡��}r¬��(hBj˝��hCjª��hIhJhKh_hM}r√��(hR]hQ]hO]hP]hU]haj˜��uhWMhXhhY]rƒ��hdX���The Series Identifierr≈��ÖÅr∆��}r«��(hBj˝��hCj¡��ubaubhò)År»��}r…��(hBX"��The proposed solution is to model and implement a "series identifier" (SID)
along with modified services that would work with both SIDs and PIDs.  From a
DataONE perspective, the series identifiers would be assigned to all versions of
an object, be unique in DataONE (assigned to only one version chain), and would
be reserved just as PIDs - from the same namespace.  The series identifier, once
assigned to the version chain, would similarly be immutable, and could apply to
all new versions of the item.   It is also assumed that in order to coordinate
users to use one identifier for citations, that the cardinality for the citation
identifier would be 0..1.  The semantics for making API calls with a SID would,
in general, be to return responses as if the call were made with the most
current PID.r ��hCjª��hIhJhKhßhM}rÀ��(hO]hP]hQ]hR]hU]uhWM hXhhY]rÃ��hdX"��The proposed solution is to model and implement a "series identifier" (SID)
along with modified services that would work with both SIDs and PIDs.  From a
DataONE perspective, the series identifiers would be assigned to all versions of
an object, be unique in DataONE (assigned to only one version chain), and would
be reserved just as PIDs - from the same namespace.  The series identifier, once
assigned to the version chain, would similarly be immutable, and could apply to
all new versions of the item.   It is also assumed that in order to coordinate
users to use one identifier for citations, that the cardinality for the citation
identifier would be 0..1.  The semantics for making API calls with a SID would,
in general, be to return responses as if the call were made with the most
current PID.rÕ��ÖÅrŒ��}rœ��(hBj ��hCj»��ubaubhò)År–��}r—��(hBXè��Member Nodes that only maintain the latest version of an item would be required
to use a new PID for any updated content, and modify the System Metadata
appropriately so that the new version can be synchronized with the network. The
same SID would typically be used for the updated object, although we would allow
the revision chain to shift to a new SID as desired by the client and/or member
node.r“��hCjª��hIhJhKhßhM}r”��(hO]hP]hQ]hR]hU]uhWM,hXhhY]r‘��hdXè��Member Nodes that only maintain the latest version of an item would be required
to use a new PID for any updated content, and modify the System Metadata
appropriately so that the new version can be synchronized with the network. The
same SID would typically be used for the updated object, although we would allow
the revision chain to shift to a new SID as desired by the client and/or member
node.r’��ÖÅr÷��}r◊��(hBj“��hCj–��ubaubhò)Årÿ��}rŸ��(hBXF��It cannot be assumed that a user with an identifier in hand knows whether it is
a SID or a PID, so DataONE expects the user to refer to the System Metadata once
it has the item to determine if the identifier used in the call matches the PID
or the SID.  Similarly, they could interrogate search results for the same
information.  For high-level interfaces, like D1Client.getD1Object(id), the PID
of the object returned may or may not match the passed in 'id'.  So, high-level
functions or applications that use resolve will have to make sure they handle
the new resolving semantics.r⁄��hCjª��hIhJhKhßhM}r€��(hO]hP]hQ]hR]hU]uhWM3hXhhY]r‹��hdXF��It cannot be assumed that a user with an identifier in hand knows whether it is
a SID or a PID, so DataONE expects the user to refer to the System Metadata once
it has the item to determine if the identifier used in the call matches the PID
or the SID.  Similarly, they could interrogate search results for the same
information.  For high-level interfaces, like D1Client.getD1Object(id), the PID
of the object returned may or may not match the passed in 'id'.  So, high-level
functions or applications that use resolve will have to make sure they handle
the new resolving semantics.r›��ÖÅrfi��}rfl��(hBj⁄��hCjÿ��ubaubhò)År‡��}r·��(hBXÄ���It is recommended that search indexes include a search field for the
series identifier that can also be returned in the results.r‚��hCjª��hIhJhKhßhM}r„��(hO]hP]hQ]hR]hU]uhWM<hXhhY]r‰��hdXÄ���It is recommended that search indexes include a search field for the
series identifier that can also be returned in the results.rÂ��ÖÅrÊ��}rÁ��(hBj‚��hCj‡��ubaubhD)ÅrË��}rÈ��(hBU�hCjª��hIhJhKhLhM}rÍ��(hO]hP]hQ]hR]rÎ��j��ahU]rÏ��h
auhWMAhXhhY]rÌ��(h[)ÅrÓ��}rÔ��(hBj��hCjË��hIhJhKh_hM}r��(hR]hQ]hO]hP]hU]haj��uhWMAhXhhY]rÒ��hdX���Semantics of "Current"rÚ��ÖÅrÛ��}rÙ��(hBj��hCjÓ��ubaubhò)Årı��}rˆ��(hBX*���A SID chain closes with two types of ends:r˜��hCjË��hIhJhKhßhM}r¯��(hO]hP]hQ]hR]hU]uhWMChXhhY]r˘��hdX*���A SID chain closes with two types of ends:r˙��ÖÅr˚��}r¸��(hBj˜��hCjı��ubaubhò)År˝��}r˛��(hBXH���Type 1: An object on the SID chain doesn't have the "obsoletedBy" field.rˇ��hCjË��hIhJhKhßhM}r���(hO]hP]hQ]hR]hU]uhWMEhXhhY]r��hdXH���Type 1: An object on the SID chain doesn't have the "obsoletedBy" field.r��ÖÅr��}r��(hBjˇ��hCj˝��ubaubhò)År��}r��(hBX	���Example::r��hCjË��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWMGhXhhY]r	��hdX���Example:r
��ÖÅr��}r��(hBX���Example:hCj��ubaubj��)År
��}r��(hBX���P1(S1) ‚ü∫ P2(S1)hCjË��hIhJhKj��hM}r��(j��j��hR]hQ]hO]hP]hU]uhWMIhXhhY]r��hdX���P1(S1) ‚ü∫ P2(S1)r��ÖÅr��}r��(hBU�hCj
��ubaubhò)År��}r��(hBX���``P2`` is a type 1 end.r��hCjË��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWMKhXhhY]r��(j‚��)År��}r��(hBX���``P2``hM}r��(hO]hP]hQ]hR]hU]uhCj��hY]r��hdX���P2r��ÖÅr��}r��(hBU�hCj��ubahKjÏ��ubhdX��� is a type 1 end.r ��ÖÅr!��}r"��(hBX��� is a type 1 end.hCj��ubeubhò)År#��}r$��(hBXö���Type 2: An object on the SID chain does have the "obsoletedBy" field, but the
PID in the "obsoletedBy" field has a different SID (including no SID value).r%��hCjË��hIhJhKhßhM}r&��(hO]hP]hQ]hR]hU]uhWMMhXhhY]r'��hdXö���Type 2: An object on the SID chain does have the "obsoletedBy" field, but the
PID in the "obsoletedBy" field has a different SID (including no SID value).r(��ÖÅr)��}r*��(hBj%��hCj#��ubaubhò)År+��}r,��(hBX
���Examples::r-��hCjË��hIhJhKhßhM}r.��(hO]hP]hQ]hR]hU]uhWMPhXhhY]r/��hdX	���Examples:r0��ÖÅr1��}r2��(hBX	���Examples:hCj+��ubaubj��)År3��}r4��(hBX"���P1(S1) ‚ü∫ P2(S2)

P1(S1) ‚ü∫ P2()hCjË��hIhJhKj��hM}r5��(j��j��hR]hQ]hO]hP]hU]uhWMRhXhhY]r6��hdX"���P1(S1) ‚ü∫ P2(S2)

P1(S1) ‚ü∫ P2()r7��ÖÅr8��}r9��(hBU�hCj3��ubaubhò)År:��}r;��(hBX&���``P1`` is a type 2 end on both chains.r<��hCjË��hIhJhKhßhM}r=��(hO]hP]hQ]hR]hU]uhWMVhXhhY]r>��(j‚��)År?��}r@��(hBX���``P1``hM}rA��(hO]hP]hQ]hR]hU]uhCj:��hY]rB��hdX���P1rC��ÖÅrD��}rE��(hBU�hCj?��ubahKjÏ��ubhdX ��� is a type 2 end on both chains.rF��ÖÅrG��}rH��(hBX ��� is a type 2 end on both chains.hCj:��ubeubhò)ÅrI��}rJ��(hBXw��It is tricky to determine a type 2 end if the object in the "obsoletedBy" field
is missing. For example, ``P1(S1) ‚ü∫ P2(S1) ‚üπ ??``. We don't have the
knowledge of the series id of the object "??". So we generally consider it a
type 2 end except we are sure it is not an end - there is another object in the
chain (has the same series id) that obsoletes the missing object.hCjË��hIhJhKhßhM}rK��(hO]hP]hQ]hR]hU]uhWMXhXhhY]rL��(hdXi���It is tricky to determine a type 2 end if the object in the "obsoletedBy" field
is missing. For example, rM��ÖÅrN��}rO��(hBXi���It is tricky to determine a type 2 end if the object in the "obsoletedBy" field
is missing. For example, hCjI��ubj‚��)ÅrP��}rQ��(hBX���``P1(S1) ‚ü∫ P2(S1) ‚üπ ??``hM}rR��(hO]hP]hQ]hR]hU]uhCjI��hY]rS��hdX���P1(S1) ‚ü∫ P2(S1) ‚üπ ??rT��ÖÅrU��}rV��(hBU�hCjP��ubahKjÏ��ubhdXÚ���. We don't have the
knowledge of the series id of the object "??". So we generally consider it a
type 2 end except we are sure it is not an end - there is another object in the
chain (has the same series id) that obsoletes the missing object.rW��ÖÅrX��}rY��(hBXÚ���. We don't have the
knowledge of the series id of the object "??". So we generally consider it a
type 2 end except we are sure it is not an end - there is another object in the
chain (has the same series id) that obsoletes the missing object.hCjI��ubeubhò)ÅrZ��}r[��(hBXM���In previous example [P1(S1) ‚ü∫ P2(S1) ‚üπ ??], P2 is a type 2 end (case 12).r\��hCjË��hIhJhKhßhM}r]��(hO]hP]hQ]hR]hU]uhWM^hXhhY]r^��hdXM���In previous example [P1(S1) ‚ü∫ P2(S1) ‚üπ ??], P2 is a type 2 end (case 12).r_��ÖÅr`��}ra��(hBj\��hCjZ��ubaubhò)Årb��}rc��(hBXÂ���However,  P1(S1) ‚ü∫ P2(S1) ‚üπ  ??  ‚ü∏ P4(S1), P2 is not an end (case 8) since "??" is in the obsoletes field of P4 that has the same series id - S1 (We are sure that the "??" has the series id S1 as well, so P2 is not an end).rd��hCjË��hIhJhKhßhM}re��(hO]hP]hQ]hR]hU]uhWM`hXhhY]rf��hdXÂ���However,  P1(S1) ‚ü∫ P2(S1) ‚üπ  ??  ‚ü∏ P4(S1), P2 is not an end (case 8) since "??" is in the obsoletes field of P4 that has the same series id - S1 (We are sure that the "??" has the series id S1 as well, so P2 is not an end).rg��ÖÅrh��}ri��(hBjd��hCjb��ubaubhò)Årj��}rk��(hBX¡���In P1(S1) ‚ü∫ P2(S1) ‚üπ  ??  ‚ü∏ P4(S2), P2 is a type 2 end even though "??" is in the  obsoletes field of P4. But P4 has a different series id - S2 (so we are not sure "??" has the S1 or S2).rl��hCjË��hIhJhKhßhM}rm��(hO]hP]hQ]hR]hU]uhWMbhXhhY]rn��hdX¡���In P1(S1) ‚ü∫ P2(S1) ‚üπ  ??  ‚ü∏ P4(S2), P2 is a type 2 end even though "??" is in the  obsoletes field of P4. But P4 has a different series id - S2 (so we are not sure "??" has the S1 or S2).ro��ÖÅrp��}rq��(hBjl��hCjj��ubaubhò)Årr��}rs��(hBXì���Ideally, if there is one and only one end on a SID chain, this end will be the HEAD (current) version. This kind of chains are called ideal chains.rt��hCjË��hIhJhKhßhM}ru��(hO]hP]hQ]hR]hU]uhWMdhXhhY]rv��hdXì���Ideally, if there is one and only one end on a SID chain, this end will be the HEAD (current) version. This kind of chains are called ideal chains.rw��ÖÅrx��}ry��(hBjt��hCjr��ubaubcdocutils.nodes
definition_list
rz��)År{��}r|��(hBU�hCjË��hINhKUdefinition_listr}��hM}r~��(hO]hP]hQ]hR]hU]uhWNhXhhY]r��(cdocutils.nodes
definition_list_item
rÄ��)ÅrÅ��}rÇ��(hBX∞��If there are more than one end on a SID chain because of the incompleteness of the system metadata, It is hard to determine which one is the real end. This kind of chain is not a ideal chain and we have to use this mechanism to determine the HEAD version:
1. Choose the end with latest dateUploaded in the chain as the temporary HEAD version. This rule works if the uploaded time stamps of objects aren't messed up.
2. If the time stamps are messed up, we need to test if any object obsoletes the temporary HEAD on the obsolete chain with the SAME SID. If nothing obsoletes the temporary HEAD, the temporary HEAD is the final HEAD; otherwise, the end of obsolete chain is the final HEAD.
hCj{��hIhJhKUdefinition_list_itemr��hM}r��(hO]hP]hQ]hR]hU]uhWMhhY]r��(cdocutils.nodes
term
rÜ��)Årá��}rà��(hBXˇ���If there are more than one end on a SID chain because of the incompleteness of the system metadata, It is hard to determine which one is the real end. This kind of chain is not a ideal chain and we have to use this mechanism to determine the HEAD version:râ��hCjÅ��hIhJhKUtermrä��hM}rã��(hO]hP]hQ]hR]hU]uhWMhhY]rå��hdXˇ���If there are more than one end on a SID chain because of the incompleteness of the system metadata, It is hard to determine which one is the real end. This kind of chain is not a ideal chain and we have to use this mechanism to determine the HEAD version:rç��ÖÅré��}rè��(hBjâ��hCjá��ubaubcdocutils.nodes
definition
rê��)Årë��}rí��(hBU�hM}rì��(hO]hP]hQ]hR]hU]uhCjÅ��hY]rî��j‚��)Årï��}rñ��(hBU�hM}ró��(jÊ��U.hR]hQ]hO]jÁ��U�hP]hU]jË��jÈ��uhCjë��hY]rò��(hì)Årô��}rö��(hBXú���Choose the end with latest dateUploaded in the chain as the temporary HEAD version. This rule works if the uploaded time stamps of objects aren't messed up.rõ��hM}rú��(hO]hP]hQ]hR]hU]uhCjï��hY]rù��hò)Årû��}rü��(hBjõ��hCjô��hIhJhKhßhM}r†��(hO]hP]hQ]hR]hU]uhWMghY]r°��hdXú���Choose the end with latest dateUploaded in the chain as the temporary HEAD version. This rule works if the uploaded time stamps of objects aren't messed up.r¢��ÖÅr£��}r§��(hBjõ��hCjû��ubaubahKhøubhì)År•��}r¶��(hBX
��If the time stamps are messed up, we need to test if any object obsoletes the temporary HEAD on the obsolete chain with the SAME SID. If nothing obsoletes the temporary HEAD, the temporary HEAD is the final HEAD; otherwise, the end of obsolete chain is the final HEAD.
hM}rß��(hO]hP]hQ]hR]hU]uhCjï��hY]r®��hò)År©��}r™��(hBX��If the time stamps are messed up, we need to test if any object obsoletes the temporary HEAD on the obsolete chain with the SAME SID. If nothing obsoletes the temporary HEAD, the temporary HEAD is the final HEAD; otherwise, the end of obsolete chain is the final HEAD.r´��hCj•��hIhJhKhßhM}r¨��(hO]hP]hQ]hR]hU]uhWMhhY]r≠��hdX��If the time stamps are messed up, we need to test if any object obsoletes the temporary HEAD on the obsolete chain with the SAME SID. If nothing obsoletes the temporary HEAD, the temporary HEAD is the final HEAD; otherwise, the end of obsolete chain is the final HEAD.rÆ��ÖÅrØ��}r∞��(hBj´��hCj©��ubaubahKhøubehKj��ubahKU
definitionr±��ubeubjÄ��)År≤��}r≥��(hBX9��Take this example P1[S1, t1] ‚ü∏P2[S1, t2] ‚ü∏P3(S1, t3) (case 19) (The t1, t2 and t3 are time stamps and t1 > t2 > t3. This means the time stamps are messing up - the newest version P3 was uploaded the earliest while the oldest version p1 was uploaded the latest)
1. This chain has three type 1 ends - P1, P2 and P3. It is not an ideal chain.
2. Choose P1 which has the latest date of uploaded as the temporary HEAD.
3. P2 obsoletes P1 and also P3 obsoletes P2 on the obsolete chain P1 ‚ü∏ P2 ‚ü∏ P3. So we choose the end of the whole chain - P3 as the final HEAD.



hCj{��hIhJhKjÉ��hM}r¥��(hO]hP]hQ]hR]hU]uhWMphXhhY]rµ��(jÜ��)År∂��}r∑��(hBX��Take this example P1[S1, t1] ‚ü∏P2[S1, t2] ‚ü∏P3(S1, t3) (case 19) (The t1, t2 and t3 are time stamps and t1 > t2 > t3. This means the time stamps are messing up - the newest version P3 was uploaded the earliest while the oldest version p1 was uploaded the latest)r∏��hCj≤��hIhJhKjä��hM}rπ��(hO]hP]hQ]hR]hU]uhWMphY]r∫��hdX��Take this example P1[S1, t1] ‚ü∏P2[S1, t2] ‚ü∏P3(S1, t3) (case 19) (The t1, t2 and t3 are time stamps and t1 > t2 > t3. This means the time stamps are messing up - the newest version P3 was uploaded the earliest while the oldest version p1 was uploaded the latest)rª��ÖÅrº��}rΩ��(hBj∏��hCj∂��ubaubjê��)Åræ��}rø��(hBU�hM}r¿��(hO]hP]hQ]hR]hU]uhCj≤��hY]r¡��j‚��)År¬��}r√��(hBU�hM}rƒ��(jÊ��U.hR]hQ]hO]jÁ��U�hP]hU]jË��jÈ��uhCjæ��hY]r≈��(hì)År∆��}r«��(hBXK���This chain has three type 1 ends - P1, P2 and P3. It is not an ideal chain.r»��hM}r…��(hO]hP]hQ]hR]hU]uhCj¬��hY]r ��hò)ÅrÀ��}rÃ��(hBj»��hCj∆��hIhJhKhßhM}rÕ��(hO]hP]hQ]hR]hU]uhWMkhY]rŒ��hdXK���This chain has three type 1 ends - P1, P2 and P3. It is not an ideal chain.rœ��ÖÅr–��}r—��(hBj»��hCjÀ��ubaubahKhøubhì)År“��}r”��(hBXF���Choose P1 which has the latest date of uploaded as the temporary HEAD.r‘��hM}r’��(hO]hP]hQ]hR]hU]uhCj¬��hY]r÷��hò)År◊��}rÿ��(hBj‘��hCj“��hIhJhKhßhM}rŸ��(hO]hP]hQ]hR]hU]uhWMlhY]r⁄��hdXF���Choose P1 which has the latest date of uploaded as the temporary HEAD.r€��ÖÅr‹��}r›��(hBj‘��hCj◊��ubaubahKhøubhì)Årfi��}rfl��(hBXî���P2 obsoletes P1 and also P3 obsoletes P2 on the obsolete chain P1 ‚ü∏ P2 ‚ü∏ P3. So we choose the end of the whole chain - P3 as the final HEAD.



hM}r‡��(hO]hP]hQ]hR]hU]uhCj¬��hY]r·��hò)År‚��}r„��(hBXê���P2 obsoletes P1 and also P3 obsoletes P2 on the obsolete chain P1 ‚ü∏ P2 ‚ü∏ P3. So we choose the end of the whole chain - P3 as the final HEAD.r‰��hCjfi��hIhJhKhßhM}rÂ��(hO]hP]hQ]hR]hU]uhWMmhY]rÊ��hdXê���P2 obsoletes P1 and also P3 obsoletes P2 on the obsolete chain P1 ‚ü∏ P2 ‚ü∏ P3. So we choose the end of the whole chain - P3 as the final HEAD.rÁ��ÖÅrË��}rÈ��(hBj‰��hCj‚��ubaubahKhøubehKj��ubahKj±��ubeubeubhD)ÅrÍ��}rÎ��(hBU�hCjË��hIhJhKhLhM}rÏ��(hO]hP]hQ]hR]rÌ��j&��ahU]rÓ��hauhWMshXhhY]rÔ��(h[)År��}rÒ��(hBj+��hCjÍ��hIhJhKh_hM}rÚ��(hR]hQ]hO]hP]hU]haj%��uhWMshXhhY]rÛ��hdX���Version StoragerÙ��ÖÅrı��}rˆ��(hBj+��hCj��ubaubhò)År˜��}r¯��(hBXé��Mutable content implies that back-versions of content may not be readily available
on the nodes that originally produce the content. For metadata and resource maps,
the coordinating nodes will store previous versions of objects during the synchronization process,
but any data updates will result in only the latest version being available at the originating node.
If the data objects were replicated (as is the hope), it is likely that previous versions of
the data can still be resolved from replica target nodes, though this is dependent on replication policies,
synchronization schedules and the availability of replica storage across the federation.r˘��hCjÍ��hIhJhKhßhM}r˙��(hO]hP]hQ]hR]hU]uhWMthXhhY]r˚��hdXé��Mutable content implies that back-versions of content may not be readily available
on the nodes that originally produce the content. For metadata and resource maps,
the coordinating nodes will store previous versions of objects during the synchronization process,
but any data updates will result in only the latest version being available at the originating node.
If the data objects were replicated (as is the hope), it is likely that previous versions of
the data can still be resolved from replica target nodes, though this is dependent on replication policies,
synchronization schedules and the availability of replica storage across the federation.r¸��ÖÅr˝��}r˛��(hBj˘��hCj˜��ubaubhò)Årˇ��}r���(hBXã��The current DataONE storage model, through the MN_Storage.update method, places
responsibility for storing versions squarely on the submitter. Each update to the object requires
a new unique identifier (PID) and must state which PID the new version is obsoleting.
We will continue to require that unique PIDs are provided for each
and every version of an object, but the member node will not be required to maintain a copy of previous revisions
if it chooses not to. An optional series identifier (SID) can be provided with object SystemMetadata
to group revisions together and to provide a convenient way to refer to the latest version of the object.r��hCjÍ��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWM|hXhhY]r��hdXã��The current DataONE storage model, through the MN_Storage.update method, places
responsibility for storing versions squarely on the submitter. Each update to the object requires
a new unique identifier (PID) and must state which PID the new version is obsoleting.
We will continue to require that unique PIDs are provided for each
and every version of an object, but the member node will not be required to maintain a copy of previous revisions
if it chooses not to. An optional series identifier (SID) can be provided with object SystemMetadata
to group revisions together and to provide a convenient way to refer to the latest version of the object.r��ÖÅr��}r��(hBj��hCjˇ��ubaubeubeubhD)År��}r��(hBU�hCjª��hIhJhKhLhM}r	��(hO]hP]hQ]hR]r
��j9��ahU]r��hauhWMÜhXhhY]r��(h[)År
��}r��(hBj>��hCj��hIhJhKh_hM}r��(hR]hQ]hO]hP]hU]haj8��uhWMÜhXhhY]r��hdX���Version preservationr��ÖÅr��}r��(hBj>��hCj
��ubaubhò)År��}r��(hBXÙ��As is currently the case, the member node should maintain all versions of content using
unique identifiers (PID) and synchronization will harvest each new revision to the network.
While there will be no requirement that the Member node continue to make available the object identified
by the obsoleted PID, the hope is that they will persist the data history as best they can.
If the objects in the revision chain have a SID assigned, the new PID will be considered the latest
version of this series.r��hCj��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWMáhXhhY]r��hdXÙ��As is currently the case, the member node should maintain all versions of content using
unique identifiers (PID) and synchronization will harvest each new revision to the network.
While there will be no requirement that the Member node continue to make available the object identified
by the obsoleted PID, the hope is that they will persist the data history as best they can.
If the objects in the revision chain have a SID assigned, the new PID will be considered the latest
version of this series.r��ÖÅr��}r��(hBj��hCj��ubaubhò)År��}r��(hBX.��The member node can allow access to the current version of the object using MN_Read.get(sid) as a convenience and
any reference to the SID would resolve to the latest version of the object with a potentially different checksum and PID
from what was originally present when the citation was distributed.r��hCj��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWMéhXhhY]r ��hdX.��The member node can allow access to the current version of the object using MN_Read.get(sid) as a convenience and
any reference to the SID would resolve to the latest version of the object with a potentially different checksum and PID
from what was originally present when the citation was distributed.r!��ÖÅr"��}r#��(hBj��hCj��ubaubhò)År$��}r%��(hBXô��The member node must [minimally] maintain system metadata for the current revision of the object.
Any updated object is still required to be identified by a new unique PID, but would include the same SID used
in the previous version. The obsoletes field should indicate that the new PID replaces the previous PID.
The coordinating node learns about the updated content during synchronization because there is:r&��hCj��hIhJhKhßhM}r'��(hO]hP]hQ]hR]hU]uhWMíhXhhY]r(��hdXô��The member node must [minimally] maintain system metadata for the current revision of the object.
Any updated object is still required to be identified by a new unique PID, but would include the same SID used
in the previous version. The obsoletes field should indicate that the new PID replaces the previous PID.
The coordinating node learns about the updated content during synchronization because there is:r)��ÖÅr*��}r+��(hBj&��hCj$��ubaubj‹��)År,��}r-��(hBU�hCj��hINhKjfl��hM}r.��(hO]hP]hQ]hR]hU]uhWNhXhhY]r/��hç)År0��}r1��(hBU�hM}r2��(Ubulletr3��X���-hR]hQ]hO]hP]hU]uhCj,��hY]r4��(hì)År5��}r6��(hBX	���a new PIDr7��hM}r8��(hO]hP]hQ]hR]hU]uhCj0��hY]r9��hò)År:��}r;��(hBj7��hCj5��hIhJhKhßhM}r<��(hO]hP]hQ]hR]hU]uhWMñhY]r=��hdX	���a new PIDr>��ÖÅr?��}r@��(hBj7��hCj:��ubaubahKhøubhì)ÅrA��}rB��(hBX.���an updated dateSystemMetadataUpdated timestamprC��hM}rD��(hO]hP]hQ]hR]hU]uhCj0��hY]rE��hò)ÅrF��}rG��(hBjC��hCjA��hIhJhKhßhM}rH��(hO]hP]hQ]hR]hU]uhWMóhY]rI��hdX.���an updated dateSystemMetadataUpdated timestamprJ��ÖÅrK��}rL��(hBjC��hCjF��ubaubahKhøubhì)ÅrM��}rN��(hBX8���an updated checksum (other fields may also be updated).
hM}rO��(hO]hP]hQ]hR]hU]uhCj0��hY]rP��hò)ÅrQ��}rR��(hBX7���an updated checksum (other fields may also be updated).rS��hCjM��hIhJhKhßhM}rT��(hO]hP]hQ]hR]hU]uhWMòhY]rU��hdX7���an updated checksum (other fields may also be updated).rV��ÖÅrW��}rX��(hBjS��hCjQ��ubaubahKhøubehKhêubaubhò)ÅrY��}rZ��(hBXU��N.B. Multiple revisions between synchronization periods would not
result in multiple versions recorded in the federation - just the revision[s] that happened to be
synchronized would be persisted in DataONE. This leaves open the possibility of an end user retrieving a version from the MN that
will ultimately not be persisted in perpetuity.r[��hCj��hIhJhKhßhM}r\��(hO]hP]hQ]hR]hU]uhWMöhXhhY]r]��hdXU��N.B. Multiple revisions between synchronization periods would not
result in multiple versions recorded in the federation - just the revision[s] that happened to be
synchronized would be persisted in DataONE. This leaves open the possibility of an end user retrieving a version from the MN that
will ultimately not be persisted in perpetuity.r^��ÖÅr_��}r`��(hBj[��hCjY��ubaubeubhD)Åra��}rb��(hBU�hCjª��hIhJhKhLhM}rc��(hO]hP]hQ]hR]rd��jL��ahU]re��h auhWM°hXhhY]rf��(h[)Årg��}rh��(hBjQ��hCja��hIhJhKh_hM}ri��(hR]hQ]hO]hP]hU]hajK��uhWM°hXhhY]rj��hdX(���Working drafts vs. Repository publishingrk��ÖÅrl��}rm��(hBjQ��hCjg��ubaubhò)Årn��}ro��(hBXO��DataONE essentially considers member nodes as the originators of *selected* versions of
content.  That is, not every intermediate revision on the way to a final
product should neccessarily be saved for future reference.  Organizations following the mutable
content model for storage may wish to limit the objects returned by listObjects() to those that
are considered in their publishable form. Certainly theses objects can later be updated as needed,
but minimizing draft-status objects will reduce the amount of [possibly irretrievable] draft content floating around
the federated network.hCja��hIhJhKhßhM}rp��(hO]hP]hQ]hR]hU]uhWM¢hXhhY]rq��(hdXA���DataONE essentially considers member nodes as the originators of rr��ÖÅrs��}rt��(hBXA���DataONE essentially considers member nodes as the originators of hCjn��ubcdocutils.nodes
emphasis
ru��)Årv��}rw��(hBX
���*selected*hM}rx��(hO]hP]hQ]hR]hU]uhCjn��hY]ry��hdX���selectedrz��ÖÅr{��}r|��(hBU�hCjv��ubahKUemphasisr}��ubhdX�� versions of
content.  That is, not every intermediate revision on the way to a final
product should neccessarily be saved for future reference.  Organizations following the mutable
content model for storage may wish to limit the objects returned by listObjects() to those that
are considered in their publishable form. Certainly theses objects can later be updated as needed,
but minimizing draft-status objects will reduce the amount of [possibly irretrievable] draft content floating around
the federated network.r~��ÖÅr��}rÄ��(hBX�� versions of
content.  That is, not every intermediate revision on the way to a final
product should neccessarily be saved for future reference.  Organizations following the mutable
content model for storage may wish to limit the objects returned by listObjects() to those that
are considered in their publishable form. Certainly theses objects can later be updated as needed,
but minimizing draft-status objects will reduce the amount of [possibly irretrievable] draft content floating around
the federated network.hCjn��ubeubhD)ÅrÅ��}rÇ��(hBU�hCja��hIhJhKhLhM}rÉ��(hO]hP]hQ]hR]rÑ��jc��ahU]rÖ��h$auhWM≠hXhhY]rÜ��(h[)Årá��}rà��(hBjh��hCjÅ��hIhJhKh_hM}râ��(hR]hQ]hO]hP]hU]hajb��uhWM≠hXhhY]rä��hdX���Types of Mutable Objectsrã��ÖÅrå��}rç��(hBjh��hCjá��ubaubhò)Åré��}rè��(hBX·��As illustrated in the optional use cases, the rate and regularity of change of
objects can be widely variable. The more frequent the change, the less likely
that all versions would need to be reproduced, and the utility of complete version
history diminishes.  One can imagine a member node serving up an unrecorded data
stream, such as a web-cam, delaying creating a version until a user calls MN.get()
on the item, by tee'ing the output stream to file while returning the object.rê��hCjÅ��hIhJhKhßhM}rë��(hO]hP]hQ]hR]hU]uhWMÆhXhhY]rí��hdX·��As illustrated in the optional use cases, the rate and regularity of change of
objects can be widely variable. The more frequent the change, the less likely
that all versions would need to be reproduced, and the utility of complete version
history diminishes.  One can imagine a member node serving up an unrecorded data
stream, such as a web-cam, delaying creating a version until a user calls MN.get()
on the item, by tee'ing the output stream to file while returning the object.rì��ÖÅrî��}rï��(hBjê��hCjé��ubaubhò)Årñ��}ró��(hBX ���Additionally the need to keep past versions may be less important for metadata
objects (correcting typos that do not change the meaning or interpretation of the data)
than data objects or resource maps.rò��hCjÅ��hIhJhKhßhM}rô��(hO]hP]hQ]hR]hU]uhWMµhXhhY]rö��hdX ���Additionally the need to keep past versions may be less important for metadata
objects (correcting typos that do not change the meaning or interpretation of the data)
than data objects or resource maps.rõ��ÖÅrú��}rù��(hBjò��hCjñ��ubaubeubeubhD)Årû��}rü��(hBU�hCjª��hIhJhKhLhM}r†��(hO]hP]hQ]hR]r°��jv��ahU]r¢��hauhWM∫hXhhY]r£��(h[)År§��}r•��(hBj{��hCjû��hIhJhKh_hM}r¶��(hR]hQ]hO]hP]hU]haju��uhWM∫hXhhY]rß��hdX���Accumulating datasetsr®��ÖÅr©��}r™��(hBj{��hCj§��ubaubhò)År´��}r¨��(hBX��The use case of mutable data objects that grow with new records appended to the
end of a table, for example, was given as a common practice for some groups, and
one that would produce progressively redundant information with each persisted
version.  The motivation for rolling up records accumulated over time instead
of new data files for each is the ease of use for end users. Using a SID to access
the data object will always give the latest snapshot of the data records where old revisions
may or may not also be accessible.r≠��hCjû��hIhJhKhßhM}rÆ��(hO]hP]hQ]hR]hU]uhWMªhXhhY]rØ��hdX��The use case of mutable data objects that grow with new records appended to the
end of a table, for example, was given as a common practice for some groups, and
one that would produce progressively redundant information with each persisted
version.  The motivation for rolling up records accumulated over time instead
of new data files for each is the ease of use for end users. Using a SID to access
the data object will always give the latest snapshot of the data records where old revisions
may or may not also be accessible.r∞��ÖÅr±��}r≤��(hBj≠��hCj´��ubaubeubhD)År≥��}r¥��(hBU�hCjª��hIhJhKhLhM}rµ��(hO]hP]hQ]hR]r∂��jâ��ahU]r∑��h3auhWM≈hXhhY]r∏��(h[)Årπ��}r∫��(hBjé��hCj≥��hIhJhKh_hM}rª��(hR]hQ]hO]hP]hU]hajà��uhWM≈hXhhY]rº��hdX���Mixed metadata-data objectsrΩ��ÖÅræ��}rø��(hBjé��hCjπ��ubaubhò)År¿��}r¡��(hBXù��Objects like NetCDF files that include both metadata and data in the same object
will be managed with the same PID and SID considerations. If only the metadata portion of
the file is modified, the SID may remain the same, but a new PID and checksum must be created and
made available for synchronization. The old revision may immediately become inaccessible using the PID
and that is allowable under the proposal.r¬��hCj≥��hIhJhKhßhM}r√��(hO]hP]hQ]hR]hU]uhWM∆hXhhY]rƒ��hdXù��Objects like NetCDF files that include both metadata and data in the same object
will be managed with the same PID and SID considerations. If only the metadata portion of
the file is modified, the SID may remain the same, but a new PID and checksum must be created and
made available for synchronization. The old revision may immediately become inaccessible using the PID
and that is allowable under the proposal.r≈��ÖÅr∆��}r«��(hBj¬��hCj¿��ubaubhD)År»��}r…��(hBU�hCj≥��hIhJhKhLhM}r ��(hO]hP]hQ]hR]rÀ��j†��ahU]rÃ��h2auhWMŒhXhhY]rÕ��(h[)ÅrŒ��}rœ��(hBj•��hCj»��hIhJhKh_hM}r–��(hR]hQ]hO]hP]hU]hajü��uhWMŒhXhhY]r—��hdX���Retrieval / Citation Supportr“��ÖÅr”��}r‘��(hBj•��hCjŒ��ubaubhò)År’��}r÷��(hBXë��Implicit in the support for versioned content is support for retrieval of, or possibly
just resolution to, the current object bytes by the identifier assigned in the
originating system.  At a minimum CNs will be required to support calculating
which is the current version of series of versions and returning it or its
identifier. This will be accomplished using the series identifier (SID) associated with object[s]
in a revision chain. The "current" version of an object is defined as the non-obsoleted object with
a SID that matches the requested identifier. Objects that are marked as "archived" may be returned as the
most current version, but they should not be seen in default search interfaces.
Since DataONE identifiers have no special formating semantics, those following a citation
will not know by looking at the identifier whether it is referring to a specific
version (PID) or the latest version of the item (SID), so services may be provided to easily investigate
an entire version series. Existing services allow clients to deduce this information by inspecting the system
metadata for the identifier and following any obsolescence properties as needed.r◊��hCj»��hIhJhKhßhM}rÿ��(hO]hP]hQ]hR]hU]uhWMœhXhhY]rŸ��hdXë��Implicit in the support for versioned content is support for retrieval of, or possibly
just resolution to, the current object bytes by the identifier assigned in the
originating system.  At a minimum CNs will be required to support calculating
which is the current version of series of versions and returning it or its
identifier. This will be accomplished using the series identifier (SID) associated with object[s]
in a revision chain. The "current" version of an object is defined as the non-obsoleted object with
a SID that matches the requested identifier. Objects that are marked as "archived" may be returned as the
most current version, but they should not be seen in default search interfaces.
Since DataONE identifiers have no special formating semantics, those following a citation
will not know by looking at the identifier whether it is referring to a specific
version (PID) or the latest version of the item (SID), so services may be provided to easily investigate
an entire version series. Existing services allow clients to deduce this information by inspecting the system
metadata for the identifier and following any obsolescence properties as needed.r⁄��ÖÅr€��}r‹��(hBj◊��hCj’��ubaubeubeubhD)År›��}rfi��(hBU�hCjª��hIhJhKhLhM}rfl��(hO]hP]hQ]hR]r‡��j≥��ahU]r·��h	auhWMfihXhhY]r‚��(h[)År„��}r‰��(hBj∏��hCj›��hIhJhKh_hM}rÂ��(hR]hQ]hO]hP]hU]haj≤��uhWMfihXhhY]rÊ��hdX���Retrieval vs. ResolutionrÁ��ÖÅrË��}rÈ��(hBj∏��hCj„��ubaubhò)ÅrÍ��}rÎ��(hBX��Because the content of an object is retrieved in a separate call from its system
metadata, use of the SID for MN Read API calls is troublesome because the content may be updated
between the two calls.
It would be impossible to tell if the bytes retrieved were incorrect (bit rot) or correct (newer version)
when comparing checksums in this case. If data consistency is important to the caller, the PID should be used
to guarantee that only the expected bytes (or a NotFound exception) are returned by any MN.get calls.rÏ��hCj›��hIhJhKhßhM}rÌ��(hO]hP]hQ]hR]hU]uhWMflhXhhY]rÓ��hdX��Because the content of an object is retrieved in a separate call from its system
metadata, use of the SID for MN Read API calls is troublesome because the content may be updated
between the two calls.
It would be impossible to tell if the bytes retrieved were incorrect (bit rot) or correct (newer version)
when comparing checksums in this case. If data consistency is important to the caller, the PID should be used
to guarantee that only the expected bytes (or a NotFound exception) are returned by any MN.get calls.rÔ��ÖÅr��}rÒ��(hBjÏ��hCjÍ��ubaubhò)ÅrÚ��}rÛ��(hBX��Those making a citation may wish to cite a specific version, or the latest current
version.  Followers of citations may wish to, if given an identifier representing
a specific version (PID), find out what is the latest version (another, newer PID, or the SID).
Conversely, if given a series identifier that navigates to the latest version, they may wish to find
out what the content was at some previous point in time (e.g., the time of the citation) by following
the obsolescence chain backward.rÙ��hCj›��hIhJhKhßhM}rı��(hO]hP]hQ]hR]hU]uhWMÊhXhhY]rˆ��hdX��Those making a citation may wish to cite a specific version, or the latest current
version.  Followers of citations may wish to, if given an identifier representing
a specific version (PID), find out what is the latest version (another, newer PID, or the SID).
Conversely, if given a series identifier that navigates to the latest version, they may wish to find
out what the content was at some previous point in time (e.g., the time of the citation) by following
the obsolescence chain backward.r˜��ÖÅr¯��}r˘��(hBjÙ��hCjÚ��ubaubeubhD)År˙��}r˚��(hBU�hCjª��hIhJhKhLhM}r¸��(hO]hP]hQ]hR]r˝��j∆��ahU]r˛��h!auhWMÔhXhhY]rˇ��(h[)År�	��}r	��(hBjÀ��hCj˙��hIhJhKh_hM}r	��(hR]hQ]hO]hP]hU]haj≈��uhWMÔhXhhY]r	��hdX���Service development plansr	��ÖÅr	��}r	��(hBjÀ��hCj�	��ubaubhò)År	��}r	��(hBXe��DataONE will be providing CN services for navigating to the latest version of an object, since the only way
to do it currently is for the clients to serially retrieve the system metadata for
versions in the chain until they reach the head version, which is can be inefficient.
A new method to retrieve the entire version history is also under consideration.r		��hCj˙��hIhJhKhßhM}r
	��(hO]hP]hQ]hR]hU]uhWMhXhhY]r	��hdXe��DataONE will be providing CN services for navigating to the latest version of an object, since the only way
to do it currently is for the clients to serially retrieve the system metadata for
versions in the chain until they reach the head version, which is can be inefficient.
A new method to retrieve the entire version history is also under consideration.r	��ÖÅr
	��}r	��(hBj		��hCj	��ubaubeubhD)År	��}r	��(hBU�hCjª��hIhJhKhLhM}r	��(hO]hP]hQ]hR]r	��jŸ��ahU]r	��h'auhWM˜hXhhY]r	��(h[)År	��}r	��(hBjfi��hCj	��hIhJhKh_hM}r	��(hR]hQ]hO]hP]hU]hajÿ��uhWM˜hXhhY]r	��hdX���MN API method changesr	��ÖÅr	��}r	��(hBjfi��hCj	��ubaubjz��)År	��}r	��(hBU�hCj	��hIhJhKj}��hM}r	��(hO]hP]hQ]hR]hU]uhWNhXhhY]r	��(jÄ��)År 	��}r!	��(hBX|���MN.get(Identifier id):
Identifier can be either a PID or SID, and if a SID, return the bytes of the HEAD PID in the series.
hCj	��hIhJhKjÉ��hM}r"	��(hO]hP]hQ]hR]hU]uhWM˙hY]r#	��(jÜ��)År$	��}r%	��(hBX���MN.get(Identifier id):r&	��hCj 	��hIhJhKjä��hM}r'	��(hO]hP]hQ]hR]hU]uhWM˙hY]r(	��hdX���MN.get(Identifier id):r)	��ÖÅr*	��}r+	��(hBj&	��hCj$	��ubaubjê��)År,	��}r-	��(hBU�hM}r.	��(hO]hP]hQ]hR]hU]uhCj 	��hY]r/	��hò)År0	��}r1	��(hBXd���Identifier can be either a PID or SID, and if a SID, return the bytes of the HEAD PID in the series.r2	��hCj,	��hIhJhKhßhM}r3	��(hO]hP]hQ]hR]hU]uhWM˙hY]r4	��hdXd���Identifier can be either a PID or SID, and if a SID, return the bytes of the HEAD PID in the series.r5	��ÖÅr6	��}r7	��(hBj2	��hCj0	��ubaubahKj±��ubeubjÄ��)År8	��}r9	��(hBXs���MN.getSystemMetadata(Identifier id):
If PID, return SystemMetadata of PID.
If SID, return HEAD PID SystemMetadata.
hCj	��hIhJhKjÉ��hM}r:	��(hO]hP]hQ]hR]hU]uhWM˛hXhhY]r;	��(jÜ��)År<	��}r=	��(hBX$���MN.getSystemMetadata(Identifier id):r>	��hCj8	��hIhJhKjä��hM}r?	��(hO]hP]hQ]hR]hU]uhWM˛hY]r@	��hdX$���MN.getSystemMetadata(Identifier id):rA	��ÖÅrB	��}rC	��(hBj>	��hCj<	��ubaubjê��)ÅrD	��}rE	��(hBU�hM}rF	��(hO]hP]hQ]hR]hU]uhCj8	��hY]rG	��hò)ÅrH	��}rI	��(hBXM���If PID, return SystemMetadata of PID.
If SID, return HEAD PID SystemMetadata.rJ	��hCjD	��hIhJhKhßhM}rK	��(hO]hP]hQ]hR]hU]uhWM˝hY]rL	��hdXM���If PID, return SystemMetadata of PID.
If SID, return HEAD PID SystemMetadata.rM	��ÖÅrN	��}rO	��(hBjJ	��hCjH	��ubaubahKj±��ubeubjÄ��)ÅrP	��}rQ	��(hBX_���MN.describe(Identifier id):
If PID, return header for PID.
If SID, return header for HEAD PID.
hCj	��hIhJhKjÉ��hM}rR	��(hO]hP]hQ]hR]hU]uhWMhXhhY]rS	��(jÜ��)ÅrT	��}rU	��(hBX���MN.describe(Identifier id):rV	��hCjP	��hIhJhKjä��hM}rW	��(hO]hP]hQ]hR]hU]uhWMhY]rX	��hdX���MN.describe(Identifier id):rY	��ÖÅrZ	��}r[	��(hBjV	��hCjT	��ubaubjê��)År\	��}r]	��(hBU�hM}r^	��(hO]hP]hQ]hR]hU]uhCjP	��hY]r_	��hò)År`	��}ra	��(hBXB���If PID, return header for PID.
If SID, return header for HEAD PID.rb	��hCj\	��hIhJhKhßhM}rc	��(hO]hP]hQ]hR]hU]uhWMhY]rd	��hdXB���If PID, return header for PID.
If SID, return header for HEAD PID.re	��ÖÅrf	��}rg	��(hBjb	��hCj`	��ubaubahKj±��ubeubjÄ��)Årh	��}ri	��(hBXS���MN.getChecksum(Identifier pid):
Requires PID to effectively verify data integrity.
hCj	��hIhJhKjÉ��hM}rj	��(hO]hP]hQ]hR]hU]uhWMhXhhY]rk	��(jÜ��)Årl	��}rm	��(hBX���MN.getChecksum(Identifier pid):rn	��hCjh	��hIhJhKjä��hM}ro	��(hO]hP]hQ]hR]hU]uhWMhY]rp	��hdX���MN.getChecksum(Identifier pid):rq	��ÖÅrr	��}rs	��(hBjn	��hCjl	��ubaubjê��)Årt	��}ru	��(hBU�hM}rv	��(hO]hP]hQ]hR]hU]uhCjh	��hY]rw	��hò)Årx	��}ry	��(hBX2���Requires PID to effectively verify data integrity.rz	��hCjt	��hIhJhKhßhM}r{	��(hO]hP]hQ]hR]hU]uhWMhY]r|	��hdX2���Requires PID to effectively verify data integrity.r}	��ÖÅr~	��}r	��(hBjz	��hCjx	��ubaubahKj±��ubeubjÄ��)ÅrÄ	��}rÅ	��(hBXÌ���MN.create(Identifier pid, object, SystemMetadata):
Identifier must be PID and included in accompanying systemMetadata.
SID may be included in accompanying systemMetadata if known at time of creation. The SID mustn't exist in the system.
hCj	��hIhJhKjÉ��hM}rÇ	��(hO]hP]hQ]hR]hU]uhWM	hXhhY]rÉ	��(jÜ��)ÅrÑ	��}rÖ	��(hBX2���MN.create(Identifier pid, object, SystemMetadata):rÜ	��hCjÄ	��hIhJhKjä��hM}rá	��(hO]hP]hQ]hR]hU]uhWM	hY]rà	��hdX2���MN.create(Identifier pid, object, SystemMetadata):râ	��ÖÅrä	��}rã	��(hBjÜ	��hCjÑ	��ubaubjê��)Årå	��}rç	��(hBU�hM}ré	��(hO]hP]hQ]hR]hU]uhCjÄ	��hY]rè	��hò)Årê	��}rë	��(hBXπ���Identifier must be PID and included in accompanying systemMetadata.
SID may be included in accompanying systemMetadata if known at time of creation. The SID mustn't exist in the system.rí	��hCjå	��hIhJhKhßhM}rì	��(hO]hP]hQ]hR]hU]uhWMhY]rî	��hdXπ���Identifier must be PID and included in accompanying systemMetadata.
SID may be included in accompanying systemMetadata if known at time of creation. The SID mustn't exist in the system.rï	��ÖÅrñ	��}ró	��(hBjí	��hCjê	��ubaubahKj±��ubeubjÄ��)Årò	��}rô	��(hBXb��MN.update(Identifier id, Identifier newPid, SystemMetadata):
Identifier id may be a PID or SID -- in the case of a SID, the method works with the HEAD PID of the chain.
The new Identifier must be a PID and must match the accompanying SystemMetadata.
The new SID can match the old SID in previous SystemMetadata (objects are in the same series),
or it can be any unique SID that does not already exist in the system (newly assigning a SID or shifting the SID because of a "scientifically meaningful change").
Moreover, the new system metadata may not have a SID no matter the previous version has a SID or not.
hCj	��hIhJhKjÉ��hM}rö	��(hO]hP]hQ]hR]hU]uhWMhXhhY]rõ	��(jÜ��)Årú	��}rù	��(hBX<���MN.update(Identifier id, Identifier newPid, SystemMetadata):rû	��hCjò	��hIhJhKjä��hM}rü	��(hO]hP]hQ]hR]hU]uhWMhY]r†	��hdX<���MN.update(Identifier id, Identifier newPid, SystemMetadata):r°	��ÖÅr¢	��}r£	��(hBjû	��hCjú	��ubaubjê��)År§	��}r•	��(hBU�hM}r¶	��(hO]hP]hQ]hR]hU]uhCjò	��hY]rß	��hò)År®	��}r©	��(hBX$��Identifier id may be a PID or SID -- in the case of a SID, the method works with the HEAD PID of the chain.
The new Identifier must be a PID and must match the accompanying SystemMetadata.
The new SID can match the old SID in previous SystemMetadata (objects are in the same series),
or it can be any unique SID that does not already exist in the system (newly assigning a SID or shifting the SID because of a "scientifically meaningful change").
Moreover, the new system metadata may not have a SID no matter the previous version has a SID or not.r™	��hCj§	��hIhJhKhßhM}r´	��(hO]hP]hQ]hR]hU]uhWMhY]r¨	��hdX$��Identifier id may be a PID or SID -- in the case of a SID, the method works with the HEAD PID of the chain.
The new Identifier must be a PID and must match the accompanying SystemMetadata.
The new SID can match the old SID in previous SystemMetadata (objects are in the same series),
or it can be any unique SID that does not already exist in the system (newly assigning a SID or shifting the SID because of a "scientifically meaningful change").
Moreover, the new system metadata may not have a SID no matter the previous version has a SID or not.r≠	��ÖÅrÆ	��}rØ	��(hBj™	��hCj®	��ubaubahKj±��ubeubjÄ��)År∞	��}r±	��(hBXª��MN.getLogRecords(?idFilter):
Filter can be PID or SID. The MN should resolve the SID to the HEAD PID, and return the log records for that PID.
If a client wishes to retrieve log records for the entire family of objects referenced by a SID, then the client should retrieve a list of PIDs for the SID, the call getLogRecords for each PID to retrieve the entire set of log records.
The Log.identifier field will only contain PID values, no SIDs.
hCj	��hIhJhKjÉ��hM}r≤	��(hO]hP]hQ]hR]hU]uhWMhXhhY]r≥	��(jÜ��)År¥	��}rµ	��(hBX���MN.getLogRecords(?idFilter):r∂	��hCj∞	��hIhJhKjä��hM}r∑	��(hO]hP]hQ]hR]hU]uhWMhY]r∏	��hdX���MN.getLogRecords(?idFilter):rπ	��ÖÅr∫	��}rª	��(hBj∂	��hCj¥	��ubaubjê��)Årº	��}rΩ	��(hBU�hM}ræ	��(hO]hP]hQ]hR]hU]uhCj∞	��hY]rø	��hò)År¿	��}r¡	��(hBXù��Filter can be PID or SID. The MN should resolve the SID to the HEAD PID, and return the log records for that PID.
If a client wishes to retrieve log records for the entire family of objects referenced by a SID, then the client should retrieve a list of PIDs for the SID, the call getLogRecords for each PID to retrieve the entire set of log records.
The Log.identifier field will only contain PID values, no SIDs.r¬	��hCjº	��hIhJhKhßhM}r√	��(hO]hP]hQ]hR]hU]uhWMhY]rƒ	��hdXù��Filter can be PID or SID. The MN should resolve the SID to the HEAD PID, and return the log records for that PID.
If a client wishes to retrieve log records for the entire family of objects referenced by a SID, then the client should retrieve a list of PIDs for the SID, the call getLogRecords for each PID to retrieve the entire set of log records.
The Log.identifier field will only contain PID values, no SIDs.r≈	��ÖÅr∆	��}r«	��(hBj¬	��hCj¿	��ubaubahKj±��ubeubjÄ��)År»	��}r…	��(hBXÖ���MN.delete(Identifier id):
Identifier can be PID or SID.
If PID, delete that specific version;
If a SID, delete the HEAD PID version.
hCj	��hIhJhKjÉ��hM}r 	��(hO]hP]hQ]hR]hU]uhWMhXhhY]rÀ	��(jÜ��)ÅrÃ	��}rÕ	��(hBX���MN.delete(Identifier id):rŒ	��hCj»	��hIhJhKjä��hM}rœ	��(hO]hP]hQ]hR]hU]uhWMhY]r–	��hdX���MN.delete(Identifier id):r—	��ÖÅr“	��}r”	��(hBjŒ	��hCjÃ	��ubaubjê��)År‘	��}r’	��(hBU�hM}r÷	��(hO]hP]hQ]hR]hU]uhCj»	��hY]r◊	��hò)Årÿ	��}rŸ	��(hBXj���Identifier can be PID or SID.
If PID, delete that specific version;
If a SID, delete the HEAD PID version.r⁄	��hCj‘	��hIhJhKhßhM}r€	��(hO]hP]hQ]hR]hU]uhWMhY]r‹	��hdXj���Identifier can be PID or SID.
If PID, delete that specific version;
If a SID, delete the HEAD PID version.r›	��ÖÅrfi	��}rfl	��(hBj⁄	��hCjÿ	��ubaubahKj±��ubeubjÄ��)År‡	��}r·	��(hBXÄ���MN.archive(Identifier id):
Identifier can be PID or SID.
If PID, archive that specific version.
If a SID, archive the HEAD PID.
hCj	��hIhJhKjÉ��hM}r‚	��(hO]hP]hQ]hR]hU]uhWMhXhhY]r„	��(jÜ��)År‰	��}rÂ	��(hBX���MN.archive(Identifier id):rÊ	��hCj‡	��hIhJhKjä��hM}rÁ	��(hO]hP]hQ]hR]hU]uhWMhY]rË	��hdX���MN.archive(Identifier id):rÈ	��ÖÅrÍ	��}rÎ	��(hBjÊ	��hCj‰	��ubaubjê��)ÅrÏ	��}rÌ	��(hBU�hM}rÓ	��(hO]hP]hQ]hR]hU]uhCj‡	��hY]rÔ	��hò)År	��}rÒ	��(hBXd���Identifier can be PID or SID.
If PID, archive that specific version.
If a SID, archive the HEAD PID.rÚ	��hCjÏ	��hIhJhKhßhM}rÛ	��(hO]hP]hQ]hR]hU]uhWMhY]rÙ	��hdXd���Identifier can be PID or SID.
If PID, archive that specific version.
If a SID, archive the HEAD PID.rı	��ÖÅrˆ	��}r˜	��(hBjÚ	��hCj	��ubaubahKj±��ubeubjÄ��)År¯	��}r˘	��(hBXî���MN.isAuthorized(Identifier id):
Can accept either PID or SID, but in the case of a SID parameter only reports on the the accessPolicy for HEAD PID.
hCj	��hIhJhKjÉ��hM}r˙	��(hO]hP]hQ]hR]hU]uhWM"hXhhY]r˚	��(jÜ��)År¸	��}r˝	��(hBX���MN.isAuthorized(Identifier id):r˛	��hCj¯	��hIhJhKjä��hM}rˇ	��(hO]hP]hQ]hR]hU]uhWM"hY]r�
��hdX���MN.isAuthorized(Identifier id):r
��ÖÅr
��}r
��(hBj˛	��hCj¸	��ubaubjê��)År
��}r
��(hBU�hM}r
��(hO]hP]hQ]hR]hU]uhCj¯	��hY]r
��hò)År
��}r	
��(hBXs���Can accept either PID or SID, but in the case of a SID parameter only reports on the the accessPolicy for HEAD PID.r

��hCj
��hIhJhKhßhM}r
��(hO]hP]hQ]hR]hU]uhWM"hY]r
��hdXs���Can accept either PID or SID, but in the case of a SID parameter only reports on the the accessPolicy for HEAD PID.r
��ÖÅr
��}r
��(hBj

��hCj
��ubaubahKj±��ubeubjÄ��)År
��}r
��(hBXq���MN.synchronizationFailed(Identifier pid):
Inter-node communication should only use PIDs for identifying objects.
hCj	��hIhJhKj��hM}r
��(hO]hP]hQ]hR]hU]uhWM%hXhhY]r
��(jÜ��)År
��}r
��(hBX)���MN.synchronizationFailed(Identifier pid):r
��hCj
��hIhJhKj�hM}r
��(hO]hP]hQ]hR]hU]uhWM%hY]r
��hdX)���MN.synchronizationFailed(Identifier pid):r
��ÖÅr
��}r
��(hBj
��hCj
��ubaubjê��)År
��}r
��(hBU�hM}r
��(hO]hP]hQ]hR]hU]uhCj
��hY]r
��hò)År 
��}r!
��(hBXF���Inter-node communication should only use PIDs for identifying objects.r"
��hCj
��hIhJhKhßhM}r#
��(hO]hP]hQ]hR]hU]uhWM%hY]r$
��hdXF���Inter-node communication should only use PIDs for identifying objects.r%
��ÖÅr&
��}r'
��(hBj"
��hCj 
��ubaubahKj±��ubeubjÄ��)År(
��}r)
��(hBX⁄���MN.replicate(Identifier id):
No changes in behavior. SystemMetadata object has changed structure so there is a change in signature.
Replication is based on the PID so that we can ensure content has not been corrupted.
hCj	��hIhJhKj��hM}r*
��(hO]hP]hQ]hR]hU]uhWM)hXhhY]r+
��(jÜ��)År,
��}r-
��(hBX���MN.replicate(Identifier id):r.
��hCj(
��hIhJhKj�hM}r/
��(hO]hP]hQ]hR]hU]uhWM)hY]r0
��hdX���MN.replicate(Identifier id):r1
��ÖÅr2
��}r3
��(hBj.
��hCj,
��ubaubjê��)År4
��}r5
��(hBU�hM}r6
��(hO]hP]hQ]hR]hU]uhCj(
��hY]r7
��hò)År8
��}r9
��(hBXº���No changes in behavior. SystemMetadata object has changed structure so there is a change in signature.
Replication is based on the PID so that we can ensure content has not been corrupted.r:
��hCj4
��hIhJhKhßhM}r;
��(hO]hP]hQ]hR]hU]uhWM(hY]r<
��hdXº���No changes in behavior. SystemMetadata object has changed structure so there is a change in signature.
Replication is based on the PID so that we can ensure content has not been corrupted.r=
��ÖÅr>
��}r?
��(hBj:
��hCj8
��ubaubahKj±��ubeubjÄ��)År@
��}rA
��(hBXj���MN.getReplica(Identifier id):
Can only make requests for PIDs so that checksum integrity can be verified.
hCj	��hIhJhKj��hM}rB
��(hO]hP]hQ]hR]hU]uhWM,hXhhY]rC
��(jÜ��)ÅrD
��}rE
��(hBX���MN.getReplica(Identifier id):rF
��hCj@
��hIhJhKj�hM}rG
��(hO]hP]hQ]hR]hU]uhWM,hY]rH
��hdX���MN.getReplica(Identifier id):rI
��ÖÅrJ
��}rK
��(hBjF
��hCjD
��ubaubjê��)ÅrL
��}rM
��(hBU�hM}rN
��(hO]hP]hQ]hR]hU]uhCj@
��hY]rO
��hò)ÅrP
��}rQ
��(hBXK���Can only make requests for PIDs so that checksum integrity can be verified.rR
��hCjL
��hIhJhKhßhM}rS
��(hO]hP]hQ]hR]hU]uhWM,hY]rT
��hdXK���Can only make requests for PIDs so that checksum integrity can be verified.rU
��ÖÅrV
��}rW
��(hBjR
��hCjP
��ubaubahKj±��ubeubjÄ��)ÅrX
��}rY
��(hBXM��MN.systemMetadataChanged(Identifier, serialVersion, dateSysMetaModified):
May be called on the MN if the CN infers an obsoletes relationship for a new PID based on a shared SID.
Identifier can be either a PID or a SID.
If a SID, the MN will fetch SystemMetadata from the CN using SID (which will return the HEAD PID SystemMetadata).
hCj	��hIhJhKj��hM}rZ
��(hO]hP]hQ]hR]hU]uhWM1hXhhY]r[
��(jÜ��)År\
��}r]
��(hBXI���MN.systemMetadataChanged(Identifier, serialVersion, dateSysMetaModified):r^
��hCjX
��hIhJhKj�hM}r_
��(hO]hP]hQ]hR]hU]uhWM1hY]r`
��hdXI���MN.systemMetadataChanged(Identifier, serialVersion, dateSysMetaModified):ra
��ÖÅrb
��}rc
��(hBj^
��hCj\
��ubaubjê��)Ård
��}re
��(hBU�hM}rf
��(hO]hP]hQ]hR]hU]uhCjX
��hY]rg
��hò)Årh
��}ri
��(hBX��May be called on the MN if the CN infers an obsoletes relationship for a new PID based on a shared SID.
Identifier can be either a PID or a SID.
If a SID, the MN will fetch SystemMetadata from the CN using SID (which will return the HEAD PID SystemMetadata).rj
��hCjd
��hIhJhKhßhM}rk
��(hO]hP]hQ]hR]hU]uhWM/hY]rl
��hdX��May be called on the MN if the CN infers an obsoletes relationship for a new PID based on a shared SID.
Identifier can be either a PID or a SID.
If a SID, the MN will fetch SystemMetadata from the CN using SID (which will return the HEAD PID SystemMetadata).rm
��ÖÅrn
��}ro
��(hBjj
��hCjh
��ubaubahKj±��ubeubjÄ��)Årp
��}rq
��(hBX��MN.listObjects(?identifier=XXX):
Returns an ObjectList like normal, but can be filtered by identifer (SID or PID).
If the Identifier is a PID, it returns just the single entry for that PID.
If the Identifier is a SID, it returns the objects (PIDs) of all objects that have that SID.
hCj	��hIhJhKj��hM}rr
��(hO]hP]hQ]hR]hU]uhWM6hXhhY]rs
��(jÜ��)Årt
��}ru
��(hBX ���MN.listObjects(?identifier=XXX):rv
��hCjp
��hIhJhKj�hM}rw
��(hO]hP]hQ]hR]hU]uhWM6hY]rx
��hdX ���MN.listObjects(?identifier=XXX):ry
��ÖÅrz
��}r{
��(hBjv
��hCjt
��ubaubjê��)År|
��}r}
��(hBU�hM}r~
��(hO]hP]hQ]hR]hU]uhCjp
��hY]r
��hò)ÅrÄ
��}rÅ
��(hBX˘���Returns an ObjectList like normal, but can be filtered by identifer (SID or PID).
If the Identifier is a PID, it returns just the single entry for that PID.
If the Identifier is a SID, it returns the objects (PIDs) of all objects that have that SID.rÇ
��hCj|
��hIhJhKhßhM}rÉ
��(hO]hP]hQ]hR]hU]uhWM4hY]rÑ
��hdX˘���Returns an ObjectList like normal, but can be filtered by identifer (SID or PID).
If the Identifier is a PID, it returns just the single entry for that PID.
If the Identifier is a SID, it returns the objects (PIDs) of all objects that have that SID.rÖ
��ÖÅrÜ
��}rá
��(hBjÇ
��hCjÄ
��ubaubahKj±��ubeubjÄ��)Årà
��}râ
��(hBXö���MN.view(Identifier id):
Can accept either PID or SID. If a PID, get the formated view for the specified version. If a SID, get the view for the HEAD PID.
hCj	��hIhJhKjÉ��hM}rä
��(hO]hP]hQ]hR]hU]uhWM9hXhhY]rã
��(jÜ��)Årå
��}rç
��(hBX���MN.view(Identifier id):ré
��hCjà
��hIhJhKjä��hM}rè
��(hO]hP]hQ]hR]hU]uhWM9hY]rê
��hdX���MN.view(Identifier id):rë
��ÖÅrí
��}rì
��(hBjé
��hCjå
��ubaubjê��)Årî
��}rï
��(hBU�hM}rñ
��(hO]hP]hQ]hR]hU]uhCjà
��hY]ró
��hò)Årò
��}rô
��(hBXÅ���Can accept either PID or SID. If a PID, get the formated view for the specified version. If a SID, get the view for the HEAD PID.rö
��hCjî
��hIhJhKhßhM}rõ
��(hO]hP]hQ]hR]hU]uhWM9hY]rú
��hdXÅ���Can accept either PID or SID. If a PID, get the formated view for the specified version. If a SID, get the view for the HEAD PID.rù
��ÖÅrû
��}rü
��(hBjö
��hCjò
��ubaubahKj±��ubeubjÄ��)År†
��}r°
��(hBXõ���MN.getPackage(Identifier id):
Can accept either PID or SID. If a PID, get the package of the specified version. If a SID, get the package of the HEAD PID.
hCj	��hIhJhKjÉ��hM}r¢
��(hO]hP]hQ]hR]hU]uhWM<hXhhY]r£
��(jÜ��)År§
��}r•
��(hBX���MN.getPackage(Identifier id):r¶
��hCj†
��hIhJhKjä��hM}rß
��(hO]hP]hQ]hR]hU]uhWM<hY]r®
��hdX���MN.getPackage(Identifier id):r©
��ÖÅr™
��}r´
��(hBj¶
��hCj§
��ubaubjê��)År¨
��}r≠
��(hBU�hM}rÆ
��(hO]hP]hQ]hR]hU]uhCj†
��hY]rØ
��hò)År∞
��}r±
��(hBX|���Can accept either PID or SID. If a PID, get the package of the specified version. If a SID, get the package of the HEAD PID.r≤
��hCj¨
��hIhJhKhßhM}r≥
��(hO]hP]hQ]hR]hU]uhWM<hY]r¥
��hdX|���Can accept either PID or SID. If a PID, get the package of the specified version. If a SID, get the package of the HEAD PID.rµ
��ÖÅr∂
��}r∑
��(hBj≤
��hCj∞
��ubaubahKj±��ubeubjÄ��)År∏
��}rπ
��(hBXr��MN.updateSystemMetadata(Identifier id, SystemMetadata newSysmeta):
Requires a PID. The SID can exist in the newSysmeta object. Since SID is immutable, the SID in the newSysmeta should match the current SID if it exists. If current system metadata doesn't have a SID, the new SID can be one of the following cases:
  1. The new SID is null (without a SID).
  2. The new SID is a unique identifier which doesn't exist in the system.
  3. The new SID matches the SID in the system metadata of the object in the "obsoletes" value.
  4. The new SID matches the SID in the system metadata of the object in the "obsoletedBy" value.

hCj	��hIhJhKjÉ��hM}r∫
��(hO]hP]hQ]hR]hU]uhWMDhXhhY]rª
��(jÜ��)Årº
��}rΩ
��(hBXB���MN.updateSystemMetadata(Identifier id, SystemMetadata newSysmeta):ræ
��hCj∏
��hIhJhKjä��hM}rø
��(hO]hP]hQ]hR]hU]uhWMDhY]r¿
��hdXB���MN.updateSystemMetadata(Identifier id, SystemMetadata newSysmeta):r¡
��ÖÅr¬
��}r√
��(hBjæ
��hCjº
��ubaubjê��)Årƒ
��}r≈
��(hBU�hM}r∆
��(hO]hP]hQ]hR]hU]uhCj∏
��hY]r«
��jz��)År»
��}r…
��(hBU�hM}r 
��(hO]hP]hQ]hR]hU]uhCjƒ
��hY]r��jÄ��)ÅrÃ
��}rÕ
��(hBX'��Requires a PID. The SID can exist in the newSysmeta object. Since SID is immutable, the SID in the newSysmeta should match the current SID if it exists. If current system metadata doesn't have a SID, the new SID can be one of the following cases:
1. The new SID is null (without a SID).
2. The new SID is a unique identifier which doesn't exist in the system.
3. The new SID matches the SID in the system metadata of the object in the "obsoletes" value.
4. The new SID matches the SID in the system metadata of the object in the "obsoletedBy" value.

hCj»
��hIhJhKjÉ��hM}rŒ
��(hO]hP]hQ]hR]hU]uhWMDhY]rœ
��(jÜ��)År–
��}r—
��(hBXˆ���Requires a PID. The SID can exist in the newSysmeta object. Since SID is immutable, the SID in the newSysmeta should match the current SID if it exists. If current system metadata doesn't have a SID, the new SID can be one of the following cases:r“
��hCjÃ
��hIhJhKjä��hM}r”
��(hO]hP]hQ]hR]hU]uhWMDhY]r‘
��hdXˆ���Requires a PID. The SID can exist in the newSysmeta object. Since SID is immutable, the SID in the newSysmeta should match the current SID if it exists. If current system metadata doesn't have a SID, the new SID can be one of the following cases:r’
��ÖÅr÷
��}r◊
��(hBj“
��hCj–
��ubaubjê��)Årÿ
��}rŸ
��(hBU�hM}r⁄
��(hO]hP]hQ]hR]hU]uhCjÃ
��hY]r€
��j‚��)År‹
��}r›
��(hBU�hM}rfi
��(jÊ��U.hR]hQ]hO]jÁ��U�hP]hU]jË��jÈ��uhCjÿ
��hY]rfl
��(hì)År‡
��}r·
��(hBX$���The new SID is null (without a SID).r‚
��hM}r„
��(hO]hP]hQ]hR]hU]uhCj‹
��hY]r‰
��hò)ÅrÂ
��}rÊ
��(hBj‚
��hCj‡
��hIhJhKhßhM}rÁ
��(hO]hP]hQ]hR]hU]uhWM@hY]rË
��hdX$���The new SID is null (without a SID).rÈ
��ÖÅrÍ
��}rÎ
��(hBj‚
��hCjÂ
��ubaubahKhøubhì)ÅrÏ
��}rÌ
��(hBXE���The new SID is a unique identifier which doesn't exist in the system.rÓ
��hM}rÔ
��(hO]hP]hQ]hR]hU]uhCj‹
��hY]r
��hò)ÅrÒ
��}rÚ
��(hBjÓ
��hCjÏ
��hIhJhKhßhM}rÛ
��(hO]hP]hQ]hR]hU]uhWMAhY]rÙ
��hdXE���The new SID is a unique identifier which doesn't exist in the system.rı
��ÖÅrˆ
��}r˜
��(hBjÓ
��hCjÒ
��ubaubahKhøubhì)År¯
��}r˘
��(hBXZ���The new SID matches the SID in the system metadata of the object in the "obsoletes" value.r˙
��hM}r˚
��(hO]hP]hQ]hR]hU]uhCj‹
��hY]r¸
��hò)År˝
��}r˛
��(hBj˙
��hCj¯
��hIhJhKhßhM}rˇ
��(hO]hP]hQ]hR]hU]uhWMBhY]r���hdXZ���The new SID matches the SID in the system metadata of the object in the "obsoletes" value.r��ÖÅr��}r��(hBj˙
��hCj˝
��ubaubahKhøubhì)År��}r��(hBX^���The new SID matches the SID in the system metadata of the object in the "obsoletedBy" value.

hM}r��(hO]hP]hQ]hR]hU]uhCj‹
��hY]r��hò)År��}r	��(hBX\���The new SID matches the SID in the system metadata of the object in the "obsoletedBy" value.r
��hCj��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWMChY]r��hdX\���The new SID matches the SID in the system metadata of the object in the "obsoletedBy" value.r
��ÖÅr��}r��(hBj
��hCj��ubaubahKhøubehKj��ubahKj±��ubeubahKj}��ubahKj±��ubeubeubeubhD)År��}r��(hBU�hCjª��hIhJhKhLhM}r��(hO]hP]hQ]hR]r��jÏ��ahU]r��h7auhWMGhXhhY]r��(h[)År��}r��(hBjÒ��hCj��hIhJhKh_hM}r��(hR]hQ]hO]hP]hU]hajÎ��uhWMGhXhhY]r��hdX���CN API method changesr��ÖÅr��}r��(hBjÒ��hCj��ubaubjz��)År��}r��(hBU�hCj��hIhJhKj}��hM}r��(hO]hP]hQ]hR]hU]uhWNhXhhY]r ��(jÄ��)År!��}r"��(hBX.���CN.get(Identifier id):
Behaves the same as MN
hCj��hIhJhKjÉ��hM}r#��(hO]hP]hQ]hR]hU]uhWMJhY]r$��(jÜ��)År%��}r&��(hBX���CN.get(Identifier id):r'��hCj!��hIhJhKjä��hM}r(��(hO]hP]hQ]hR]hU]uhWMJhY]r)��hdX���CN.get(Identifier id):r*��ÖÅr+��}r,��(hBj'��hCj%��ubaubjê��)År-��}r.��(hBU�hM}r/��(hO]hP]hQ]hR]hU]uhCj!��hY]r0��hò)År1��}r2��(hBX���Behaves the same as MNr3��hCj-��hIhJhKhßhM}r4��(hO]hP]hQ]hR]hU]uhWMJhY]r5��hdX���Behaves the same as MNr6��ÖÅr7��}r8��(hBj3��hCj1��ubaubahKj±��ubeubjÄ��)År9��}r:��(hBX3���CN.describe(Identifier id):
Behaves the same as MN
hCj��hIhJhKjÉ��hM}r;��(hO]hP]hQ]hR]hU]uhWMMhXhhY]r<��(jÜ��)År=��}r>��(hBX���CN.describe(Identifier id):r?��hCj9��hIhJhKjä��hM}r@��(hO]hP]hQ]hR]hU]uhWMMhY]rA��hdX���CN.describe(Identifier id):rB��ÖÅrC��}rD��(hBj?��hCj=��ubaubjê��)ÅrE��}rF��(hBU�hM}rG��(hO]hP]hQ]hR]hU]uhCj9��hY]rH��hò)ÅrI��}rJ��(hBX���Behaves the same as MNrK��hCjE��hIhJhKhßhM}rL��(hO]hP]hQ]hR]hU]uhWMMhY]rM��hdX���Behaves the same as MNrN��ÖÅrO��}rP��(hBjK��hCjI��ubaubahKj±��ubeubjÄ��)ÅrQ��}rR��(hBXŒ���CN.getSystemMetadata(Identifier id):
Behaves the same as MN.
N.B. This method can be used with a SID to locate the PID of the latest version which may be sufficient without implementing a
getHead() method.
hCj��hIhJhKjÉ��hM}rS��(hO]hP]hQ]hR]hU]uhWMRhXhhY]rT��(jÜ��)ÅrU��}rV��(hBX$���CN.getSystemMetadata(Identifier id):rW��hCjQ��hIhJhKjä��hM}rX��(hO]hP]hQ]hR]hU]uhWMRhY]rY��hdX$���CN.getSystemMetadata(Identifier id):rZ��ÖÅr[��}r\��(hBjW��hCjU��ubaubjê��)År]��}r^��(hBU�hM}r_��(hO]hP]hQ]hR]hU]uhCjQ��hY]r`��hò)Åra��}rb��(hBX®���Behaves the same as MN.
N.B. This method can be used with a SID to locate the PID of the latest version which may be sufficient without implementing a
getHead() method.rc��hCj]��hIhJhKhßhM}rd��(hO]hP]hQ]hR]hU]uhWMPhY]re��hdX®���Behaves the same as MN.
N.B. This method can be used with a SID to locate the PID of the latest version which may be sufficient without implementing a
getHead() method.rf��ÖÅrg��}rh��(hBjc��hCja��ubaubahKj±��ubeubjÄ��)Åri��}rj��(hBX6���CN.getChecksum(Identifier id):
Behaves the same as MN
hCj��hIhJhKjÉ��hM}rk��(hO]hP]hQ]hR]hU]uhWMUhXhhY]rl��(jÜ��)Årm��}rn��(hBX���CN.getChecksum(Identifier id):ro��hCji��hIhJhKjä��hM}rp��(hO]hP]hQ]hR]hU]uhWMUhY]rq��hdX���CN.getChecksum(Identifier id):rr��ÖÅrs��}rt��(hBjo��hCjm��ubaubjê��)Åru��}rv��(hBU�hM}rw��(hO]hP]hQ]hR]hU]uhCji��hY]rx��hò)Åry��}rz��(hBX���Behaves the same as MNr{��hCju��hIhJhKhßhM}r|��(hO]hP]hQ]hR]hU]uhWMUhY]r}��hdX���Behaves the same as MNr~��ÖÅr��}rÄ��(hBj{��hCjy��ubaubahKj±��ubeubjÄ��)ÅrÅ��}rÇ��(hBX4���CN.getLogRecords(?idFilter):
Behaves the same as MN
hCj��hIhJhKjÉ��hM}rÉ��(hO]hP]hQ]hR]hU]uhWMXhXhhY]rÑ��(jÜ��)ÅrÖ��}rÜ��(hBX���CN.getLogRecords(?idFilter):rá��hCjÅ��hIhJhKjä��hM}rà��(hO]hP]hQ]hR]hU]uhWMXhY]râ��hdX���CN.getLogRecords(?idFilter):rä��ÖÅrã��}rå��(hBjá��hCjÖ��ubaubjê��)Årç��}ré��(hBU�hM}rè��(hO]hP]hQ]hR]hU]uhCjÅ��hY]rê��hò)Årë��}rí��(hBX���Behaves the same as MNrì��hCjç��hIhJhKhßhM}rî��(hO]hP]hQ]hR]hU]uhWMXhY]rï��hdX���Behaves the same as MNrñ��ÖÅró��}rò��(hBjì��hCjë��ubaubahKj±��ubeubjÄ��)Årô��}rö��(hBXÙ��CN.create(Identifier pid, object, SystemMetadata):
Identifier must be PID and included in accompanying systemMetadata. SID may be included in accompanying systemMetadata if known at time of creation. The SID can be one of the following cases:
  1. The SID is a unique identifier which doesn't exist in the system.
  2. The SID matches the SID in the system metadata of the object in the "obsoletes" value.
  3. The SID matches the SID in the system metadata of the object in the "obsoletedBy" value.
hCj��hIhJhKjÉ��hM}rõ��(hO]hP]hQ]hR]hU]uhWM^hXhhY]rú��(jÜ��)Årù��}rû��(hBX2���CN.create(Identifier pid, object, SystemMetadata):rü��hCjô��hIhJhKjä��hM}r†��(hO]hP]hQ]hR]hU]uhWM^hY]r°��hdX2���CN.create(Identifier pid, object, SystemMetadata):r¢��ÖÅr£��}r§��(hBjü��hCjù��ubaubjê��)År•��}r¶��(hBU�hM}rß��(hO]hP]hQ]hR]hU]uhCjô��hY]r®��jz��)År©��}r™��(hBU�hM}r´��(hO]hP]hQ]hR]hU]uhCj•��hY]r¨��jÄ��)År≠��}rÆ��(hBXª��Identifier must be PID and included in accompanying systemMetadata. SID may be included in accompanying systemMetadata if known at time of creation. The SID can be one of the following cases:
1. The SID is a unique identifier which doesn't exist in the system.
2. The SID matches the SID in the system metadata of the object in the "obsoletes" value.
3. The SID matches the SID in the system metadata of the object in the "obsoletedBy" value.
hCj©��hIhJhKjÉ��hM}rØ��(hO]hP]hQ]hR]hU]uhWM^hY]r∞��(jÜ��)År±��}r≤��(hBXø���Identifier must be PID and included in accompanying systemMetadata. SID may be included in accompanying systemMetadata if known at time of creation. The SID can be one of the following cases:r≥��hCj≠��hIhJhKjä��hM}r¥��(hO]hP]hQ]hR]hU]uhWM^hY]rµ��hdXø���Identifier must be PID and included in accompanying systemMetadata. SID may be included in accompanying systemMetadata if known at time of creation. The SID can be one of the following cases:r∂��ÖÅr∑��}r∏��(hBj≥��hCj±��ubaubjê��)Årπ��}r∫��(hBU�hM}rª��(hO]hP]hQ]hR]hU]uhCj≠��hY]rº��j‚��)ÅrΩ��}ræ��(hBU�hM}rø��(jÊ��U.hR]hQ]hO]jÁ��U�hP]hU]jË��jÈ��uhCjπ��hY]r¿��(hì)År¡��}r¬��(hBXA���The SID is a unique identifier which doesn't exist in the system.r√��hM}rƒ��(hO]hP]hQ]hR]hU]uhCjΩ��hY]r≈��hò)År∆��}r«��(hBj√��hCj¡��hIhJhKhßhM}r»��(hO]hP]hQ]hR]hU]uhWM\hY]r…��hdXA���The SID is a unique identifier which doesn't exist in the system.r ��ÖÅrÀ��}rÃ��(hBj√��hCj∆��ubaubahKhøubhì)ÅrÕ��}rŒ��(hBXV���The SID matches the SID in the system metadata of the object in the "obsoletes" value.rœ��hM}r–��(hO]hP]hQ]hR]hU]uhCjΩ��hY]r—��hò)År“��}r”��(hBjœ��hCjÕ��hIhJhKhßhM}r‘��(hO]hP]hQ]hR]hU]uhWM]hY]r’��hdXV���The SID matches the SID in the system metadata of the object in the "obsoletes" value.r÷��ÖÅr◊��}rÿ��(hBjœ��hCj“��ubaubahKhøubhì)ÅrŸ��}r⁄��(hBXY���The SID matches the SID in the system metadata of the object in the "obsoletedBy" value.
hM}r€��(hO]hP]hQ]hR]hU]uhCjΩ��hY]r‹��hò)År›��}rfi��(hBXX���The SID matches the SID in the system metadata of the object in the "obsoletedBy" value.rfl��hCjŸ��hIhJhKhßhM}r‡��(hO]hP]hQ]hR]hU]uhWM^hY]r·��hdXX���The SID matches the SID in the system metadata of the object in the "obsoletedBy" value.r‚��ÖÅr„��}r‰��(hBjfl��hCj›��ubaubahKhøubehKj��ubahKj±��ubeubahKj}��ubahKj±��ubeubjÄ��)ÅrÂ��}rÊ��(hBX£��CN.registerSystemMetadata(Identifier pid, SystemMetadata sysmeta):
Requires a PID, allows a SID in the SystemMetadata. The SID can be one of the following cases:
  1. The SID is a unique identifier which doesn't exist in the system.
  2. The SID matches the SID in the system metadata of the object in the "obsoletes" value.
  3. The SID matches the SID in the system metadata of the object in the "obsoletedBy" value.
hCj��hIhJhKjÉ��hM}rÁ��(hO]hP]hQ]hR]hU]uhWMdhXhhY]rË��(jÜ��)ÅrÈ��}rÍ��(hBXB���CN.registerSystemMetadata(Identifier pid, SystemMetadata sysmeta):rÎ��hCjÂ��hIhJhKjä��hM}rÏ��(hO]hP]hQ]hR]hU]uhWMdhY]rÌ��hdXB���CN.registerSystemMetadata(Identifier pid, SystemMetadata sysmeta):rÓ��ÖÅrÔ��}r��(hBjÎ��hCjÈ��ubaubjê��)ÅrÒ��}rÚ��(hBU�hM}rÛ��(hO]hP]hQ]hR]hU]uhCjÂ��hY]rÙ��jz��)Årı��}rˆ��(hBU�hM}r˜��(hO]hP]hQ]hR]hU]uhCjÒ��hY]r¯��jÄ��)År˘��}r˙��(hBXZ��Requires a PID, allows a SID in the SystemMetadata. The SID can be one of the following cases:
1. The SID is a unique identifier which doesn't exist in the system.
2. The SID matches the SID in the system metadata of the object in the "obsoletes" value.
3. The SID matches the SID in the system metadata of the object in the "obsoletedBy" value.
hCjı��hIhJhKjÉ��hM}r˚��(hO]hP]hQ]hR]hU]uhWMdhY]r¸��(jÜ��)År˝��}r˛��(hBX^���Requires a PID, allows a SID in the SystemMetadata. The SID can be one of the following cases:rˇ��hCj˘��hIhJhKjä��hM}r���(hO]hP]hQ]hR]hU]uhWMdhY]r��hdX^���Requires a PID, allows a SID in the SystemMetadata. The SID can be one of the following cases:r��ÖÅr��}r��(hBjˇ��hCj˝��ubaubjê��)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj˘��hY]r��j‚��)År	��}r
��(hBU�hM}r��(jÊ��U.hR]hQ]hO]jÁ��U�hP]hU]jË��jÈ��uhCj��hY]r��(hì)År
��}r��(hBXA���The SID is a unique identifier which doesn't exist in the system.r��hM}r��(hO]hP]hQ]hR]hU]uhCj	��hY]r��hò)År��}r��(hBj��hCj
��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWMbhY]r��hdXA���The SID is a unique identifier which doesn't exist in the system.r��ÖÅr��}r��(hBj��hCj��ubaubahKhøubhì)År��}r��(hBXV���The SID matches the SID in the system metadata of the object in the "obsoletes" value.r��hM}r��(hO]hP]hQ]hR]hU]uhCj	��hY]r��hò)År��}r��(hBj��hCj��hIhJhKhßhM}r ��(hO]hP]hQ]hR]hU]uhWMchY]r!��hdXV���The SID matches the SID in the system metadata of the object in the "obsoletes" value.r"��ÖÅr#��}r$��(hBj��hCj��ubaubahKhøubhì)År%��}r&��(hBXY���The SID matches the SID in the system metadata of the object in the "obsoletedBy" value.
hM}r'��(hO]hP]hQ]hR]hU]uhCj	��hY]r(��hò)År)��}r*��(hBXX���The SID matches the SID in the system metadata of the object in the "obsoletedBy" value.r+��hCj%��hIhJhKhßhM}r,��(hO]hP]hQ]hR]hU]uhWMdhY]r-��hdXX���The SID matches the SID in the system metadata of the object in the "obsoletedBy" value.r.��ÖÅr/��}r0��(hBj+��hCj)��ubaubahKhøubehKj��ubahKj±��ubeubahKj}��ubahKj±��ubeubjÄ��)År1��}r2��(hBXZ���CN.updateSystemMetadata(Identifier id, SystemMetadata newSysmeta):
Behaves the same as MN
hCj��hIhJhKjÉ��hM}r3��(hO]hP]hQ]hR]hU]uhWMghXhhY]r4��(jÜ��)År5��}r6��(hBXB���CN.updateSystemMetadata(Identifier id, SystemMetadata newSysmeta):r7��hCj1��hIhJhKjä��hM}r8��(hO]hP]hQ]hR]hU]uhWMghY]r9��hdXB���CN.updateSystemMetadata(Identifier id, SystemMetadata newSysmeta):r:��ÖÅr;��}r<��(hBj7��hCj5��ubaubjê��)År=��}r>��(hBU�hM}r?��(hO]hP]hQ]hR]hU]uhCj1��hY]r@��hò)ÅrA��}rB��(hBX���Behaves the same as MNrC��hCj=��hIhJhKhßhM}rD��(hO]hP]hQ]hR]hU]uhWMghY]rE��hdX���Behaves the same as MNrF��ÖÅrG��}rH��(hBjC��hCjA��ubaubahKj±��ubeubjÄ��)ÅrI��}rJ��(hBX1���CN.delete(Identifier id):
Behaves the same as MN
hCj��hIhJhKjÉ��hM}rK��(hO]hP]hQ]hR]hU]uhWMjhXhhY]rL��(jÜ��)ÅrM��}rN��(hBX���CN.delete(Identifier id):rO��hCjI��hIhJhKjä��hM}rP��(hO]hP]hQ]hR]hU]uhWMjhY]rQ��hdX���CN.delete(Identifier id):rR��ÖÅrS��}rT��(hBjO��hCjM��ubaubjê��)ÅrU��}rV��(hBU�hM}rW��(hO]hP]hQ]hR]hU]uhCjI��hY]rX��hò)ÅrY��}rZ��(hBX���Behaves the same as MNr[��hCjU��hIhJhKhßhM}r\��(hO]hP]hQ]hR]hU]uhWMjhY]r]��hdX���Behaves the same as MNr^��ÖÅr_��}r`��(hBj[��hCjY��ubaubahKj±��ubeubjÄ��)Åra��}rb��(hBX2���CN.archive(Identifier id):
Behaves the same as MN
hCj��hIhJhKjÉ��hM}rc��(hO]hP]hQ]hR]hU]uhWMmhXhhY]rd��(jÜ��)Åre��}rf��(hBX���CN.archive(Identifier id):rg��hCja��hIhJhKjä��hM}rh��(hO]hP]hQ]hR]hU]uhWMmhY]ri��hdX���CN.archive(Identifier id):rj��ÖÅrk��}rl��(hBjg��hCje��ubaubjê��)Årm��}rn��(hBU�hM}ro��(hO]hP]hQ]hR]hU]uhCja��hY]rp��hò)Årq��}rr��(hBX���Behaves the same as MNrs��hCjm��hIhJhKhßhM}rt��(hO]hP]hQ]hR]hU]uhWMmhY]ru��hdX���Behaves the same as MNrv��ÖÅrw��}rx��(hBjs��hCjq��ubaubahKj±��ubeubjÄ��)Åry��}rz��(hBXa���CN.reserveIdentifier(Identifier id):
Accepts PID or SID values and treats them exactly the same.
hCj��hIhJhKjÉ��hM}r{��(hO]hP]hQ]hR]hU]uhWMphXhhY]r|��(jÜ��)År}��}r~��(hBX$���CN.reserveIdentifier(Identifier id):r��hCjy��hIhJhKjä��hM}rÄ��(hO]hP]hQ]hR]hU]uhWMphY]rÅ��hdX$���CN.reserveIdentifier(Identifier id):rÇ��ÖÅrÉ��}rÑ��(hBj��hCj}��ubaubjê��)ÅrÖ��}rÜ��(hBU�hM}rá��(hO]hP]hQ]hR]hU]uhCjy��hY]rà��hò)Årâ��}rä��(hBX;���Accepts PID or SID values and treats them exactly the same.rã��hCjÖ��hIhJhKhßhM}rå��(hO]hP]hQ]hR]hU]uhWMphY]rç��hdX;���Accepts PID or SID values and treats them exactly the same.ré��ÖÅrè��}rê��(hBjã��hCjâ��ubaubahKj±��ubeubjÄ��)Årë��}rí��(hBX^���CN.hasReservation(Identifier id):
Accepts PID or SID values and treats them exactly the same.
hCj��hIhJhKjÉ��hM}rì��(hO]hP]hQ]hR]hU]uhWMshXhhY]rî��(jÜ��)Årï��}rñ��(hBX!���CN.hasReservation(Identifier id):ró��hCjë��hIhJhKjä��hM}rò��(hO]hP]hQ]hR]hU]uhWMshY]rô��hdX!���CN.hasReservation(Identifier id):rö��ÖÅrõ��}rú��(hBjó��hCjï��ubaubjê��)Årù��}rû��(hBU�hM}rü��(hO]hP]hQ]hR]hU]uhCjë��hY]r†��hò)År°��}r¢��(hBX;���Accepts PID or SID values and treats them exactly the same.r£��hCjù��hIhJhKhßhM}r§��(hO]hP]hQ]hR]hU]uhWMshY]r•��hdX;���Accepts PID or SID values and treats them exactly the same.r¶��ÖÅrß��}r®��(hBj£��hCj°��ubaubahKj±��ubeubjÄ��)År©��}r™��(hBXQ���CN.resolve(Identifier):
If PID, resolve it.
If a SID, then resolve the HEAD PID.
hCj��hIhJhKjÉ��hM}r´��(hO]hP]hQ]hR]hU]uhWMwhXhhY]r¨��(jÜ��)År≠��}rÆ��(hBX���CN.resolve(Identifier):rØ��hCj©��hIhJhKjä��hM}r∞��(hO]hP]hQ]hR]hU]uhWMwhY]r±��hdX���CN.resolve(Identifier):r≤��ÖÅr≥��}r¥��(hBjØ��hCj≠��ubaubjê��)Årµ��}r∂��(hBU�hM}r∑��(hO]hP]hQ]hR]hU]uhCj©��hY]r∏��hò)Årπ��}r∫��(hBX8���If PID, resolve it.
If a SID, then resolve the HEAD PID.rª��hCjµ��hIhJhKhßhM}rº��(hO]hP]hQ]hR]hU]uhWMvhY]rΩ��hdX8���If PID, resolve it.
If a SID, then resolve the HEAD PID.ræ��ÖÅrø��}r¿��(hBjª��hCjπ��ubaubahKj±��ubeubjÄ��)År¡��}r¬��(hBX7���CN.isAuthorized(Identifier id):
Behaves the same as MN
hCj��hIhJhKjÉ��hM}r√��(hO]hP]hQ]hR]hU]uhWMzhXhhY]rƒ��(jÜ��)År≈��}r∆��(hBX���CN.isAuthorized(Identifier id):r«��hCj¡��hIhJhKjä��hM}r»��(hO]hP]hQ]hR]hU]uhWMzhY]r…��hdX���CN.isAuthorized(Identifier id):r ��ÖÅrÀ��}rÃ��(hBj«��hCj≈��ubaubjê��)ÅrÕ��}rŒ��(hBU�hM}rœ��(hO]hP]hQ]hR]hU]uhCj¡��hY]r–��hò)År—��}r“��(hBX���Behaves the same as MNr”��hCjÕ��hIhJhKhßhM}r‘��(hO]hP]hQ]hR]hU]uhWMzhY]r’��hdX���Behaves the same as MNr÷��ÖÅr◊��}rÿ��(hBj”��hCj—��ubaubahKj±��ubeubjÄ��)ÅrŸ��}r⁄��(hBXr���CN.isNodeAuthorized(Identifier id):
Only accept PID since it is a replication related method. No behavior change.
hCj��hIhJhKjÉ��hM}r€��(hO]hP]hQ]hR]hU]uhWM}hXhhY]r‹��(jÜ��)År›��}rfi��(hBX#���CN.isNodeAuthorized(Identifier id):rfl��hCjŸ��hIhJhKjä��hM}r‡��(hO]hP]hQ]hR]hU]uhWM}hY]r·��hdX#���CN.isNodeAuthorized(Identifier id):r‚��ÖÅr„��}r‰��(hBjfl��hCj›��ubaubjê��)ÅrÂ��}rÊ��(hBU�hM}rÁ��(hO]hP]hQ]hR]hU]uhCjŸ��hY]rË��hò)ÅrÈ��}rÍ��(hBXM���Only accept PID since it is a replication related method. No behavior change.rÎ��hCjÂ��hIhJhKhßhM}rÏ��(hO]hP]hQ]hR]hU]uhWM}hY]rÌ��hdXM���Only accept PID since it is a replication related method. No behavior change.rÓ��ÖÅrÔ��}r��(hBjÎ��hCjÈ��ubaubahKj±��ubeubjÄ��)ÅrÒ��}rÚ��(hBX{���CN.updateReplicationMetadata(Identifier id):
Only accept PID since it is a replication related method. No behavior change.
hCj��hIhJhKjÉ��hM}rÛ��(hO]hP]hQ]hR]hU]uhWMÄhXhhY]rÙ��(jÜ��)Årı��}rˆ��(hBX,���CN.updateReplicationMetadata(Identifier id):r˜��hCjÒ��hIhJhKjä��hM}r¯��(hO]hP]hQ]hR]hU]uhWMÄhY]r˘��hdX,���CN.updateReplicationMetadata(Identifier id):r˙��ÖÅr˚��}r¸��(hBj˜��hCjı��ubaubjê��)År˝��}r˛��(hBU�hM}rˇ��(hO]hP]hQ]hR]hU]uhCjÒ��hY]r�
��hò)År
��}r
��(hBXM���Only accept PID since it is a replication related method. No behavior change.r
��hCj˝��hIhJhKhßhM}r
��(hO]hP]hQ]hR]hU]uhWMÄhY]r
��hdXM���Only accept PID since it is a replication related method. No behavior change.r
��ÖÅr
��}r
��(hBj
��hCj
��ubaubahKj±��ubeubjÄ��)År	
��}r

��(hBX{���CN.deleteReplicationMetadata(Identifier id):
Only accept PID since it is a replication related method. No behavior change.
hCj��hIhJhKj��hM}r
��(hO]hP]hQ]hR]hU]uhWMÉhXhhY]r
��(jÜ��)År

��}r
��(hBX,���CN.deleteReplicationMetadata(Identifier id):r
��hCj	
��hIhJhKj�hM}r
��(hO]hP]hQ]hR]hU]uhWMÉhY]r
��hdX,���CN.deleteReplicationMetadata(Identifier id):r
��ÖÅr
��}r
��(hBj
��hCj

��ubaubjê��)År
��}r
��(hBU�hM}r
��(hO]hP]hQ]hR]hU]uhCj	
��hY]r
��hò)År
��}r
��(hBXM���Only accept PID since it is a replication related method. No behavior change.r
��hCj
��hIhJhKhßhM}r
��(hO]hP]hQ]hR]hU]uhWMÉhY]r
��hdXM���Only accept PID since it is a replication related method. No behavior change.r
��ÖÅr
��}r 
��(hBj
��hCj
��ubaubahKj±��ubeubjÄ��)År!
��}r"
��(hBXv���CN.setReplicationStatus(Identifier id):
Only accept PID since it is a replication related method. No behavior change.
hCj��hIhJhKj��hM}r#
��(hO]hP]hQ]hR]hU]uhWMÜhXhhY]r$
��(jÜ��)År%
��}r&
��(hBX'���CN.setReplicationStatus(Identifier id):r'
��hCj!
��hIhJhKj�hM}r(
��(hO]hP]hQ]hR]hU]uhWMÜhY]r)
��hdX'���CN.setReplicationStatus(Identifier id):r*
��ÖÅr+
��}r,
��(hBj'
��hCj%
��ubaubjê��)År-
��}r.
��(hBU�hM}r/
��(hO]hP]hQ]hR]hU]uhCj!
��hY]r0
��hò)År1
��}r2
��(hBXM���Only accept PID since it is a replication related method. No behavior change.r3
��hCj-
��hIhJhKhßhM}r4
��(hO]hP]hQ]hR]hU]uhWMÜhY]r5
��hdXM���Only accept PID since it is a replication related method. No behavior change.r6
��ÖÅr7
��}r8
��(hBj3
��hCj1
��ubaubahKj±��ubeubjÄ��)År9
��}r:
��(hBXi���CN.setReplicationPolicy():
Only accept PID since it is a replication related method. No behavior change.
hCj��hIhJhKj��hM}r;
��(hO]hP]hQ]hR]hU]uhWMâhXhhY]r<
��(jÜ��)År=
��}r>
��(hBX���CN.setReplicationPolicy():r?
��hCj9
��hIhJhKj�hM}r@
��(hO]hP]hQ]hR]hU]uhWMâhY]rA
��hdX���CN.setReplicationPolicy():rB
��ÖÅrC
��}rD
��(hBj?
��hCj=
��ubaubjê��)ÅrE
��}rF
��(hBU�hM}rG
��(hO]hP]hQ]hR]hU]uhCj9
��hY]rH
��hò)ÅrI
��}rJ
��(hBXM���Only accept PID since it is a replication related method. No behavior change.rK
��hCjE
��hIhJhKhßhM}rL
��(hO]hP]hQ]hR]hU]uhWMâhY]rM
��hdXM���Only accept PID since it is a replication related method. No behavior change.rN
��ÖÅrO
��}rP
��(hBjK
��hCjI
��ubaubahKj±��ubeubjÄ��)ÅrQ
��}rR
��(hBX”���CN.setRightsHolder():
Ownerships apply to particular revisions, not the entire chain.
If a SID is passed in to a method that affects one of these policies, the change is applied to the HEAD PID for that series.
hCj��hIhJhKj��hM}rS
��(hO]hP]hQ]hR]hU]uhWMçhXhhY]rT
��(jÜ��)ÅrU
��}rV
��(hBX���CN.setRightsHolder():rW
��hCjQ
��hIhJhKj�hM}rX
��(hO]hP]hQ]hR]hU]uhWMçhY]rY
��hdX���CN.setRightsHolder():rZ
��ÖÅr[
��}r\
��(hBjW
��hCjU
��ubaubjê��)År]
��}r^
��(hBU�hM}r_
��(hO]hP]hQ]hR]hU]uhCjQ
��hY]r`
��hò)Åra
��}rb
��(hBXº���Ownerships apply to particular revisions, not the entire chain.
If a SID is passed in to a method that affects one of these policies, the change is applied to the HEAD PID for that series.rc
��hCj]
��hIhJhKhßhM}rd
��(hO]hP]hQ]hR]hU]uhWMåhY]re
��hdXº���Ownerships apply to particular revisions, not the entire chain.
If a SID is passed in to a method that affects one of these policies, the change is applied to the HEAD PID for that series.rf
��ÖÅrg
��}rh
��(hBjc
��hCja
��ubaubahKj±��ubeubjÄ��)Åri
��}rj
��(hBX—���CN.setAccessPolicy():
Policies apply to particular revisions, not the entire chain.
If a SID is passed in to a method that affects one of these policies, the change is applied to the HEAD PID for that series.
hCj��hIhJhKj��hM}rk
��(hO]hP]hQ]hR]hU]uhWMëhXhhY]rl
��(jÜ��)Årm
��}rn
��(hBX���CN.setAccessPolicy():ro
��hCji
��hIhJhKj�hM}rp
��(hO]hP]hQ]hR]hU]uhWMëhY]rq
��hdX���CN.setAccessPolicy():rr
��ÖÅrs
��}rt
��(hBjo
��hCjm
��ubaubjê��)Åru
��}rv
��(hBU�hM}rw
��(hO]hP]hQ]hR]hU]uhCji
��hY]rx
��hò)Åry
��}rz
��(hBX∫���Policies apply to particular revisions, not the entire chain.
If a SID is passed in to a method that affects one of these policies, the change is applied to the HEAD PID for that series.r{
��hCju
��hIhJhKhßhM}r|
��(hO]hP]hQ]hR]hU]uhWMêhY]r}
��hdX∫���Policies apply to particular revisions, not the entire chain.
If a SID is passed in to a method that affects one of these policies, the change is applied to the HEAD PID for that series.r~
��ÖÅr
��}rÄ
��(hBj{
��hCjy
��ubaubahKj±��ubeubjÄ��)ÅrÅ
��}rÇ
��(hBXw���CN.setObsoletedBy(Identifier id, Identifier obsoletedByPid):
Only PIDs can be used when expressing obsolescence chain.
hCj��hIhJhKjÉ��hM}rÉ
��(hO]hP]hQ]hR]hU]uhWMîhXhhY]rÑ
��(jÜ��)ÅrÖ
��}rÜ
��(hBX<���CN.setObsoletedBy(Identifier id, Identifier obsoletedByPid):rá
��hCjÅ
��hIhJhKjä��hM}rà
��(hO]hP]hQ]hR]hU]uhWMîhY]râ
��hdX<���CN.setObsoletedBy(Identifier id, Identifier obsoletedByPid):rä
��ÖÅrã
��}rå
��(hBjá
��hCjÖ
��ubaubjê��)Årç
��}ré
��(hBU�hM}rè
��(hO]hP]hQ]hR]hU]uhCjÅ
��hY]rê
��hò)Årë
��}rí
��(hBX9���Only PIDs can be used when expressing obsolescence chain.rì
��hCjç
��hIhJhKhßhM}rî
��(hO]hP]hQ]hR]hU]uhWMîhY]rï
��hdX9���Only PIDs can be used when expressing obsolescence chain.rñ
��ÖÅró
��}rò
��(hBjì
��hCjë
��ubaubahKj±��ubeubjÄ��)Årô
��}rö
��(hBX.���CN.view(Identifier id)
Behaves the same as MN
hCj��hIhJhKjÉ��hM}rõ
��(hO]hP]hQ]hR]hU]uhWMóhXhhY]rú
��(jÜ��)Årù
��}rû
��(hBX���CN.view(Identifier id)rü
��hCjô
��hIhJhKjä��hM}r†
��(hO]hP]hQ]hR]hU]uhWMóhY]r°
��hdX���CN.view(Identifier id)r¢
��ÖÅr£
��}r§
��(hBjü
��hCjù
��ubaubjê��)År•
��}r¶
��(hBU�hM}rß
��(hO]hP]hQ]hR]hU]uhCjô
��hY]r®
��hò)År©
��}r™
��(hBX���Behaves the same as MNr´
��hCj•
��hIhJhKhßhM}r¨
��(hO]hP]hQ]hR]hU]uhWMóhY]r≠
��hdX���Behaves the same as MNrÆ
��ÖÅrØ
��}r∞
��(hBj´
��hCj©
��ubaubahKj±��ubeubjÄ��)År±
��}r≤
��(hBX:���CN.listObjects(?identifier=XXX):
Behaves the same as MN


hCj��hIhJhKjÉ��hM}r≥
��(hO]hP]hQ]hR]hU]uhWMúhXhhY]r¥
��(jÜ��)Årµ
��}r∂
��(hBX ���CN.listObjects(?identifier=XXX):r∑
��hCj±
��hIhJhKjä��hM}r∏
��(hO]hP]hQ]hR]hU]uhWMúhY]rπ
��hdX ���CN.listObjects(?identifier=XXX):r∫
��ÖÅrª
��}rº
��(hBj∑
��hCjµ
��ubaubjê��)ÅrΩ
��}ræ
��(hBU�hM}rø
��(hO]hP]hQ]hR]hU]uhCj±
��hY]r¿
��hò)År¡
��}r¬
��(hBX���Behaves the same as MNr√
��hCjΩ
��hIhJhKhßhM}rƒ
��(hO]hP]hQ]hR]hU]uhWMöhY]r≈
��hdX���Behaves the same as MNr∆
��ÖÅr«
��}r»
��(hBj√
��hCj¡
��ubaubahKj±��ubeubeubeubeubhD)År…
��}r 
��(hBU�hChGhIhJhKhLhM}r��(hO]hP]hQ]hR]rÃ
��jˇ��ahU]rÕ
��h#auhWMühXhhY]rŒ
��(h[)Årœ
��}r–
��(hBj��hCj…
��hIhJhKh_hM}r—
��(hR]hQ]hO]hP]hU]haj˛��uhWMühXhhY]r“
��hdX	���Use Casesr”
��ÖÅr‘
��}r’
��(hBj��hCjœ
��ubaubhò)År÷
��}r◊
��(hBX���The use cases below organize the identified requirements related to mutable
content, with the most relevant use cases listed first.rÿ
��hCj…
��hIhJhKhßhM}rŸ
��(hO]hP]hQ]hR]hU]uhWM°hXhhY]r⁄
��hdX���The use cases below organize the identified requirements related to mutable
content, with the most relevant use cases listed first.r€
��ÖÅr‹
��}r›
��(hBjÿ
��hCj÷
��ubaubhD)Årfi
��}rfl
��(hBU�hCj…
��hIhJhKhLhM}r‡
��(hO]hP]hQ]hR]r·
��j��ahU]r‚
��h:auhWM®hXhhY]r„
��(h[)År‰
��}rÂ
��(hBj��hCjfi
��hIhJhKh_hM}rÊ
��(hR]hQ]hO]hP]hU]haj��uhWM®hXhhY]rÁ
��hdX���1. Data preservationrË
��ÖÅrÈ
��}rÍ
��(hBj��hCj‰
��ubaubhò)ÅrÎ
��}rÏ
��(hBX���Defined as activities that help ensure continued discoverability and usefulness
and usually in reference to metadata, not data.rÌ
��hCjfi
��hIhJhKhßhM}rÓ
��(hO]hP]hQ]hR]hU]uhWM©hXhhY]rÔ
��hdX���Defined as activities that help ensure continued discoverability and usefulness
and usually in reference to metadata, not data.r
��ÖÅrÒ
��}rÚ
��(hBjÌ
��hCjÎ
��ubaubhç)ÅrÛ
��}rÙ
��(hBU�hCjfi
��hIhJhKhêhM}rı
��(j3��X���-hR]hQ]hO]hP]hU]uhWM¨hXhhY]rˆ
��(hì)År˜
��}r¯
��(hBX!���metadata adaptation / improvementr˘
��hCjÛ
��hIhJhKhøhM}r˙
��(hO]hP]hQ]hR]hU]uhWNhXhhY]r˚
��hò)År¸
��}r˝
��(hBj˘
��hCj˜
��hIhJhKhßhM}r˛
��(hO]hP]hQ]hR]hU]uhWM¨hY]rˇ
��hdX!���metadata adaptation / improvementr���ÖÅr��}r��(hBj˘
��hCj¸
��ubaubaubhì)År��}r��(hBX���metadata correctionr��hCjÛ
��hIhJhKhøhM}r��(hO]hP]hQ]hR]hU]uhWNhXhhY]r��hò)År��}r	��(hBj��hCj��hIhJhKhßhM}r
��(hO]hP]hQ]hR]hU]uhWM≠hY]r��hdX���metadata correctionr��ÖÅr
��}r��(hBj��hCj��ubaubaubhì)År��}r��(hBXö���absent a "push" notification, users should be able to easily determine if they
have the most current version of something, and easily and quickly get it.
hCjÛ
��hIhJhKhøhM}r��(hO]hP]hQ]hR]hU]uhWNhXhhY]r��hò)År��}r��(hBXô���absent a "push" notification, users should be able to easily determine if they
have the most current version of something, and easily and quickly get it.r��hCj��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWMÆhY]r��hdXô���absent a "push" notification, users should be able to easily determine if they
have the most current version of something, and easily and quickly get it.r��ÖÅr��}r��(hBj��hCj��ubaubaubeubeubhD)År��}r��(hBU�hCj…
��hIhJhKhLhM}r��(hO]hP]hQ]hR]r��j)��ahU]r��hauhWM≤hXhhY]r ��(h[)År!��}r"��(hBj.��hCj��hIhJhKh_hM}r#��(hR]hQ]hO]hP]hU]haj(��uhWM≤hXhhY]r$��hdX&���2. Mutable Content Member Node supportr%��ÖÅr&��}r'��(hBj.��hCj!��ubaubhò)År(��}r)��(hBX3���For institutions following a mutable content model:r*��hCj��hIhJhKhßhM}r+��(hO]hP]hQ]hR]hU]uhWM≥hXhhY]r,��hdX3���For institutions following a mutable content model:r-��ÖÅr.��}r/��(hBj*��hCj(��ubaubhç)År0��}r1��(hBU�hCj��hIhJhKhêhM}r2��(j3��X���-hR]hQ]hO]hP]hU]uhWMµhXhhY]r3��(hì)År4��}r5��(hBX<���Provide a path forward for integrating into DataONE network.r6��hCj0��hIhJhKhøhM}r7��(hO]hP]hQ]hR]hU]uhWNhXhhY]r8��hò)År9��}r:��(hBj6��hCj4��hIhJhKhßhM}r;��(hO]hP]hQ]hR]hU]uhWMµhY]r<��hdX<���Provide a path forward for integrating into DataONE network.r=��ÖÅr>��}r?��(hBj6��hCj9��ubaubaubhì)År@��}rA��(hBXD���Minimize the burden of adaptation to working with versioned content.rB��hCj0��hIhJhKhøhM}rC��(hO]hP]hQ]hR]hU]uhWNhXhhY]rD��hò)ÅrE��}rF��(hBjB��hCj@��hIhJhKhßhM}rG��(hO]hP]hQ]hR]hU]uhWM∂hY]rH��hdXD���Minimize the burden of adaptation to working with versioned content.rI��ÖÅrJ��}rK��(hBjB��hCjE��ubaubaubhì)ÅrL��}rM��(hBXõ���Allow use of their identifiers in DataONE in the context they are familiar with
(if their identifier always points to the latest, in DataONE it should too)hCj0��hIhJhKhøhM}rN��(hO]hP]hQ]hR]hU]uhWNhXhhY]rO��hò)ÅrP��}rQ��(hBXõ���Allow use of their identifiers in DataONE in the context they are familiar with
(if their identifier always points to the latest, in DataONE it should too)rR��hCjL��hIhJhKhßhM}rS��(hO]hP]hQ]hR]hU]uhWM∑hY]rT��hdXõ���Allow use of their identifiers in DataONE in the context they are familiar with
(if their identifier always points to the latest, in DataONE it should too)rU��ÖÅrV��}rW��(hBjR��hCjP��ubaubaubhì)ÅrX��}rY��(hBX%���Options for maintaining past versionsrZ��hCj0��hIhJhKhøhM}r[��(hO]hP]hQ]hR]hU]uhWNhXhhY]r\��hò)År]��}r^��(hBjZ��hCjX��hIhJhKhßhM}r_��(hO]hP]hQ]hR]hU]uhWMπhY]r`��hdX%���Options for maintaining past versionsra��ÖÅrb��}rc��(hBjZ��hCj]��ubaubaubhì)Ård��}re��(hBXF���Differentiating between incremental internal saves, vs. new revision.
hCj0��hIhJhKhøhM}rf��(hO]hP]hQ]hR]hU]uhWNhXhhY]rg��hò)Årh��}ri��(hBXE���Differentiating between incremental internal saves, vs. new revision.rj��hCjd��hIhJhKhßhM}rk��(hO]hP]hQ]hR]hU]uhWM∫hY]rl��hdXE���Differentiating between incremental internal saves, vs. new revision.rm��ÖÅrn��}ro��(hBjj��hCjh��ubaubaubeubeubhD)Årp��}rq��(hBU�hCj…
��hIhJhKhLhM}rr��(hO]hP]hQ]hR]rs��j<��ahU]rt��h9auhWMΩhXhhY]ru��(h[)Årv��}rw��(hBjA��hCjp��hIhJhKh_hM}rx��(hR]hQ]hO]hP]hU]haj;��uhWMΩhXhhY]ry��hdX���3. Citation supportrz��ÖÅr{��}r|��(hBjA��hCjv��ubaubhç)År}��}r~��(hBU�hCjp��hIhJhKhêhM}r��(j3��X���-hR]hQ]hO]hP]hU]uhWMæhXhhY]rÄ��(hì)ÅrÅ��}rÇ��(hBXZ���avoid unnecessary costs associated with obtaining resolvable (e.g., DOIs) for each versionrÉ��hCj}��hIhJhKhøhM}rÑ��(hO]hP]hQ]hR]hU]uhWNhXhhY]rÖ��hò)ÅrÜ��}rá��(hBjÉ��hCjÅ��hIhJhKhßhM}rà��(hO]hP]hQ]hR]hU]uhWMæhY]râ��hdXZ���avoid unnecessary costs associated with obtaining resolvable (e.g., DOIs) for each versionrä��ÖÅrã��}rå��(hBjÉ��hCjÜ��ubaubaubhì)Årç��}ré��(hBXB���coordinating citation by a common identifier for citation trackingrè��hCj}��hIhJhKhøhM}rê��(hO]hP]hQ]hR]hU]uhWNhXhhY]rë��hò)Årí��}rì��(hBjè��hCjç��hIhJhKhßhM}rî��(hO]hP]hQ]hR]hU]uhWMøhY]rï��hdXB���coordinating citation by a common identifier for citation trackingrñ��ÖÅró��}rò��(hBjè��hCjí��ubaubaubhì)Årô��}rö��(hBXW���ensuring that the cited object is the same when accessed as when it was originally usedrõ��hCj}��hIhJhKhøhM}rú��(hO]hP]hQ]hR]hU]uhWNhXhhY]rù��hò)Årû��}rü��(hBjõ��hCjô��hIhJhKhßhM}r†��(hO]hP]hQ]hR]hU]uhWM¿hY]r°��hdXW���ensuring that the cited object is the same when accessed as when it was originally usedr¢��ÖÅr£��}r§��(hBjõ��hCjû��ubaubaubhì)År•��}r¶��(hBX;���ability to cite a version as well as the conceptual object
hCj}��hIhJhKhøhM}rß��(hO]hP]hQ]hR]hU]uhWNhXhhY]r®��hò)År©��}r™��(hBX:���ability to cite a version as well as the conceptual objectr´��hCj•��hIhJhKhßhM}r¨��(hO]hP]hQ]hR]hU]uhWM¡hY]r≠��hdX:���ability to cite a version as well as the conceptual objectrÆ��ÖÅrØ��}r∞��(hBj´��hCj©��ubaubaubeubhD)År±��}r≤��(hBU�hCjp��hIhJhKhLhM}r≥��(hO]hP]hQ]hR]r¥��jS��ahU]rµ��h5auhWMƒhXhhY]r∂��h[)År∑��}r∏��(hBjX��hCj±��hIhJhKh_hM}rπ��(hR]hQ]hO]hP]hU]hajR��uhWMƒhXhhY]r∫��hdX���Optionalrª��ÖÅrº��}rΩ��(hBjX��hCj∑��ubaubaubeubhD)Åræ��}rø��(hBU�hCj…
��hIhJhKhLhM}r¿��(hO]hP]hQ]hR]r¡��jf��ahU]r¬��h6auhWM«hXhhY]r√��(h[)Årƒ��}r≈��(hBjk��hCjæ��hIhJhKh_hM}r∆��(hR]hQ]hO]hP]hU]haje��uhWM«hXhhY]r«��hdX5���4. Support for frequently changing / overwritten datar»��ÖÅr…��}r ��(hBjk��hCjƒ��ubaubhò)ÅrÀ��}rÃ��(hBX”���What is the best way to version mutable data that frequently changes but may or
not be used.  For example a "current time" object, replaced every minute, or
"current weather radar" that's replaced every 3 hours.rÕ��hCjæ��hIhJhKhßhM}rŒ��(hO]hP]hQ]hR]hU]uhWM»hXhhY]rœ��hdX”���What is the best way to version mutable data that frequently changes but may or
not be used.  For example a "current time" object, replaced every minute, or
"current weather radar" that's replaced every 3 hours.r–��ÖÅr—��}r“��(hBjÕ��hCjÀ��ubaubhç)År”��}r‘��(hBU�hCjæ��hIhJhKhêhM}r’��(j3��X���-hR]hQ]hO]hP]hU]uhWMÃhXhhY]r÷��(hì)År◊��}rÿ��(hBXF���preserving every version could be very expensive for very little valuerŸ��hCj”��hIhJhKhøhM}r⁄��(hO]hP]hQ]hR]hU]uhWNhXhhY]r€��hò)År‹��}r›��(hBjŸ��hCj◊��hIhJhKhßhM}rfi��(hO]hP]hQ]hR]hU]uhWMÃhY]rfl��hdXF���preserving every version could be very expensive for very little valuer‡��ÖÅr·��}r‚��(hBjŸ��hCj‹��ubaubaubhì)År„��}r‰��(hBX<���what mechanisms could be employed to minimize the overhead?
hCj”��hIhJhKhøhM}rÂ��(hO]hP]hQ]hR]hU]uhWNhXhhY]rÊ��hò)ÅrÁ��}rË��(hBX;���what mechanisms could be employed to minimize the overhead?rÈ��hCj„��hIhJhKhßhM}rÍ��(hO]hP]hQ]hR]hU]uhWMÕhY]rÎ��hdX;���what mechanisms could be employed to minimize the overhead?rÏ��ÖÅrÌ��}rÓ��(hBjÈ��hCjÁ��ubaubaubeubhò)ÅrÔ��}r��(hBXW���The underlying dynamic here is the the rate of mutation vs. the rate of synchronizationrÒ��hCjæ��hIhJhKhßhM}rÚ��(hO]hP]hQ]hR]hU]uhWMœhXhhY]rÛ��hdXW���The underlying dynamic here is the the rate of mutation vs. the rate of synchronizationrÙ��ÖÅrı��}rˆ��(hBjÒ��hCjÔ��ubaubeubhD)År˜��}r¯��(hBU�hCj…
��hIhJhKhLhM}r˘��(hO]hP]hQ]hR]r˙��jy��ahU]r˚��hauhWM“hXhhY]r¸��(h[)År˝��}r˛��(hBj~��hCj˜��hIhJhKh_hM}rˇ��(hR]hQ]hO]hP]hU]hajx��uhWM“hXhhY]r���hdX$���5. Support for accumulating datasetsr��ÖÅr��}r��(hBj~��hCj˝��ubaubhò)År��}r��(hBXF���This means supporting data objects that add records over time, either:r��hCj˜��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWM”hXhhY]r��hdXF���This means supporting data objects that add records over time, either:r	��ÖÅr
��}r��(hBj��hCj��ubaubhç)År��}r
��(hBU�hCj˜��hIhJhKhêhM}r��(j3��X���-hR]hQ]hO]hP]hU]uhWM’hXhhY]r��(hì)År��}r��(hBXk���within pre-defined bounds  e.g. "2013 year-to-date"  (the metadata could stay
the same, while data changes)hCj��hIhJhKhøhM}r��(hO]hP]hQ]hR]hU]uhWNhXhhY]r��hò)År��}r��(hBXk���within pre-defined bounds  e.g. "2013 year-to-date"  (the metadata could stay
the same, while data changes)r��hCj��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWM’hY]r��hdXk���within pre-defined bounds  e.g. "2013 year-to-date"  (the metadata could stay
the same, while data changes)r��ÖÅr��}r��(hBj��hCj��ubaubaubhì)År��}r��(hBXE���without pre-defined bounds e.g. "JGoodall primate observation log"?

hCj��hIhJhKhøhM}r��(hO]hP]hQ]hR]hU]uhWNhXhhY]r��hò)År ��}r!��(hBXC���without pre-defined bounds e.g. "JGoodall primate observation log"?r"��hCj��hIhJhKhßhM}r#��(hO]hP]hQ]hR]hU]uhWM◊hY]r$��hdXC���without pre-defined bounds e.g. "JGoodall primate observation log"?r%��ÖÅr&��}r'��(hBj"��hCj ��ubaubaubeubeubhD)År(��}r)��(hBU�hCj…
��hIhJhKhLhM}r*��(hO]hP]hQ]hR]r+��jå��ahU]r,��h8auhWM€hXhhY]r-��(h[)År.��}r/��(hBjë��hCj(��hIhJhKh_hM}r0��(hR]hQ]hO]hP]hU]hajã��uhWM€hXhhY]r1��hdX*���6. Support for mixed metadata/data objectsr2��ÖÅr3��}r4��(hBjë��hCj.��ubaubhò)År5��}r6��(hBX†���Some formats combine data with metadata, for example netCDF, so allowing the
metadata to change without impacting the consistency assessment of the data itself.r7��hCj(��hIhJhKhßhM}r8��(hO]hP]hQ]hR]hU]uhWM‹hXhhY]r9��hdX†���Some formats combine data with metadata, for example netCDF, so allowing the
metadata to change without impacting the consistency assessment of the data itself.r:��ÖÅr;��}r<��(hBj7��hCj5��ubaubhç)År=��}r>��(hBU�hCj(��hIhJhKhêhM}r?��(j3��X���-hR]hQ]hO]hP]hU]uhWMflhXhhY]r@��hì)ÅrA��}rB��(hBX}���changes in the file are treated like any other change; they will be versioned,
      but may be referenced using a seriesId

hCj=��hINhKhøhM}rC��(hO]hP]hQ]hR]hU]uhWNhXhhY]rD��jz��)ÅrE��}rF��(hBU�hM}rG��(hO]hP]hQ]hR]hU]uhCjA��hY]rH��jÄ��)ÅrI��}rJ��(hBXw���changes in the file are treated like any other change; they will be versioned,
but may be referenced using a seriesId

hCjE��hIhJhKjÉ��hM}rK��(hO]hP]hQ]hR]hU]uhWM·hY]rL��(jÜ��)ÅrM��}rN��(hBXN���changes in the file are treated like any other change; they will be versioned,rO��hCjI��hIhJhKjä��hM}rP��(hO]hP]hQ]hR]hU]uhWM·hY]rQ��hdXN���changes in the file are treated like any other change; they will be versioned,rR��ÖÅrS��}rT��(hBjO��hCjM��ubaubjê��)ÅrU��}rV��(hBU�hM}rW��(hO]hP]hQ]hR]hU]uhCjI��hY]rX��hò)ÅrY��}rZ��(hBX&���but may be referenced using a seriesIdr[��hCjU��hIhJhKhßhM}r\��(hO]hP]hQ]hR]hU]uhWM‡hY]r]��hdX&���but may be referenced using a seriesIdr^��ÖÅr_��}r`��(hBj[��hCjY��ubaubahKj±��ubeubahKj}��ubaubaubeubhD)Åra��}rb��(hBU�hCj…
��hIhJhKhLhM}rc��(hO]hP]hQ]hR]rd��jü��ahU]re��h&auhWM‰hXhhY]rf��(h[)Årg��}rh��(hBj§��hCja��hIhJhKh_hM}ri��(hR]hQ]hO]hP]hU]hajû��uhWM‰hXhhY]rj��hdX'���7. Supporting 'unrecorded' data streamsrk��ÖÅrl��}rm��(hBj§��hCjg��ubaubhò)Årn��}ro��(hBXr���Mutable content can theoretically include things that are live feeds from
sensors, but are otherwise not captured.rp��hCja��hIhJhKhßhM}rq��(hO]hP]hQ]hR]hU]uhWMÂhXhhY]rr��hdXr���Mutable content can theoretically include things that are live feeds from
sensors, but are otherwise not captured.rs��ÖÅrt��}ru��(hBjp��hCjn��ubaubhò)Årv��}rw��(hBX|���This proposal does not accommodate streams unless they have discrete snapshots that can be referenced as part of
a seriesId.rx��hCja��hIhJhKhßhM}ry��(hO]hP]hQ]hR]hU]uhWMËhXhhY]rz��hdX|���This proposal does not accommodate streams unless they have discrete snapshots that can be referenced as part of
a seriesId.r{��ÖÅr|��}r}��(hBjx��hCjv��ubaubhç)År~��}r��(hBU�hCja��hIhJhKhêhM}rÄ��(j3��X���-hR]hQ]hO]hP]hU]uhWMÎhXhhY]rÅ��(hì)ÅrÇ��}rÉ��(hBXM���Should we allow identifiers to resolve to a URL that returns an input stream?rÑ��hCj~��hIhJhKhøhM}rÖ��(hO]hP]hQ]hR]hU]uhWNhXhhY]rÜ��hò)Årá��}rà��(hBjÑ��hCjÇ��hIhJhKhßhM}râ��(hO]hP]hQ]hR]hU]uhWMÎhY]rä��hdXM���Should we allow identifiers to resolve to a URL that returns an input stream?rã��ÖÅrå��}rç��(hBjÑ��hCjá��ubaubaubhì)Åré��}rè��(hBX���Can we prevent it?rê��hCj~��hIhJhKhøhM}rë��(hO]hP]hQ]hR]hU]uhWNhXhhY]rí��hò)Årì��}rî��(hBjê��hCjé��hIhJhKhßhM}rï��(hO]hP]hQ]hR]hU]uhWMÏhY]rñ��hdX���Can we prevent it?ró��ÖÅrò��}rô��(hBjê��hCjì��ubaubaubhì)Årö��}rõ��(hBX@���Can we mark it as the user's responsibility to do the mn.create?rú��hCj~��hIhJhKhøhM}rù��(hO]hP]hQ]hR]hU]uhWNhXhhY]rû��hò)Årü��}r†��(hBjú��hCjö��hIhJhKhßhM}r°��(hO]hP]hQ]hR]hU]uhWMÌhY]r¢��hdX@���Can we mark it as the user's responsibility to do the mn.create?r£��ÖÅr§��}r•��(hBjú��hCjü��ubaubaubeubeubeubeubhIhJhKhLhM}r¶��(hO]hP]hQ]hR]rß��hÕahU]r®��h"auhWKJhXhhY]r©��(h[)År™��}r´��(hBh“hChEhIhJhKh_hM}r¨��(hR]hQ]hO]hP]hU]hahÃuhWKJhXhhY]r≠��hdX���Resolving Series IdentifiersrÆ��ÖÅrØ��}r∞��(hBh“hCj™��ubaubhò)År±��}r≤��(hBX±��In a perfect world, all obsolescence chains will have be complete,
bi-directional links, and so determining the latest version of an object is
determined simply by examining the set of all objects with the same SID, and
selecting the object that is not ``obsoletedBy`` anything else. Obsolescence
chains may be incomplete for various reasons and in such situations, resolution
of series identifiers should still operate consistently.hChEhIhJhKhßhM}r≥��(hO]hP]hQ]hR]hU]uhWKLhXhhY]r¥��(hdX˝���In a perfect world, all obsolescence chains will have be complete,
bi-directional links, and so determining the latest version of an object is
determined simply by examining the set of all objects with the same SID, and
selecting the object that is not rµ��ÖÅr∂��}r∑��(hBX˝���In a perfect world, all obsolescence chains will have be complete,
bi-directional links, and so determining the latest version of an object is
determined simply by examining the set of all objects with the same SID, and
selecting the object that is not hCj±��ubj‚��)År∏��}rπ��(hBX���``obsoletedBy``hM}r∫��(hO]hP]hQ]hR]hU]uhCj±��hY]rª��hdX���obsoletedByrº��ÖÅrΩ��}ræ��(hBU�hCj∏��ubahKjÏ��ubhdX•��� anything else. Obsolescence
chains may be incomplete for various reasons and in such situations, resolution
of series identifiers should still operate consistently.rø��ÖÅr¿��}r¡��(hBX•��� anything else. Obsolescence
chains may be incomplete for various reasons and in such situations, resolution
of series identifiers should still operate consistently.hCj±��ubeubhò)År¬��}r√��(hBXj��The following series of scenarios demonstrate the behavior of the DataONE
system when resolving a seriesId to a specific object. The behavior of
resolution is to rely primarily on the obsoletes and obsoletedBy entities,
falling back to the date when an object is added to a Member Node
(:attr:`~Types.SystemMetadata.dateUploaded`) to determine the newer version.hChEhIhJhKhßhM}rƒ��(hO]hP]hQ]hR]hU]uhWKShXhhY]r≈��(hdX��The following series of scenarios demonstrate the behavior of the DataONE
system when resolving a seriesId to a specific object. The behavior of
resolution is to rely primarily on the obsoletes and obsoletedBy entities,
falling back to the date when an object is added to a Member Node
(r∆��ÖÅr«��}r»��(hBX��The following series of scenarios demonstrate the behavior of the DataONE
system when resolving a seriesId to a specific object. The behavior of
resolution is to rely primarily on the obsoletes and obsoletedBy entities,
falling back to the date when an object is added to a Member Node
(hCj¬��ubjπ��)År…��}r ��(hBX*���:attr:`~Types.SystemMetadata.dateUploaded`rÀ��hCj¬��hIhJhKjΩ��hM}rÃ��(UreftypeX���attrjø��âj¿��X!���Types.SystemMetadata.dateUploadedU	refdomainX���pyrÕ��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKShY]rŒ��j‚��)Årœ��}r–��(hBjÀ��hM}r—��(hO]hP]r“��(j ��jÕ��X���py-attrr”��ehQ]hR]hU]uhCj…��hY]r‘��hdX���dateUploadedr’��ÖÅr÷��}r◊��(hBU�hCjœ��ubahKjÏ��ubaubhdX!���) to determine the newer version.rÿ��ÖÅrŸ��}r⁄��(hBX!���) to determine the newer version.hCj¬��ubeubhò)År€��}r‹��(hBX&���The following notation is used herein:r›��hChEhIhJhKhßhM}rfi��(hO]hP]hQ]hR]hU]uhWKYhXhhY]rfl��hdX&���The following notation is used herein:r‡��ÖÅr·��}r‚��(hBj›��hCj€��ubaubcdocutils.nodes
field_list
r„��)År‰��}rÂ��(hBU�hChEhIhJhKU
field_listrÊ��hM}rÁ��(hO]hP]hQ]hR]hU]uhWK[hXhhY]rË��(cdocutils.nodes
field
rÈ��)ÅrÍ��}rÎ��(hBU�hCj‰��hIhJhKUfieldrÏ��hM}rÌ��(hO]hP]hQ]hR]hU]uhWK[hXhhY]rÓ��(cdocutils.nodes
field_name
rÔ��)År��}rÒ��(hBX���|Pi|rÚ��hCjÍ��hIhJhKU
field_namerÛ��hM}rÙ��(hO]hP]hQ]hR]hU]uhWK�hY]rı��csphinx.ext.mathbase
math
rˆ��)År˜��}r¯��(hBU�hCj��hINhKUmathr˘��hM}r˙��(UlatexX���P_ir˚��hR]hQ]hO]hP]hU]uhWNhY]ubaubcdocutils.nodes
field_body
r¸��)År˝��}r˛��(hBX(���Refers to a Persistent Identifier (PID)
hM}rˇ��(hO]hP]hQ]hR]hU]uhCjÍ��hY]r���hò)År��}r��(hBX'���Refers to a Persistent Identifier (PID)r��hCj˝��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWK[hY]r��hdX'���Refers to a Persistent Identifier (PID)r��ÖÅr��}r��(hBj��hCj��ubaubahKU
field_bodyr	��ubeubjÈ��)År
��}r��(hBU�hCj‰��hIhJhKjÏ��hM}r��(hO]hP]hQ]hR]hU]uhWK]hXhhY]r
��(jÔ��)År��}r��(hBX���|Si|r��hCj
��hIhJhKjÛ��hM}r��(hO]hP]hQ]hR]hU]uhWK�hY]r��jˆ��)År��}r��(hBU�hCj��hINhKj˘��hM}r��(UlatexX���S_ir��hR]hQ]hO]hP]hU]uhWNhY]ubaubj¸��)År��}r��(hBX$���Refers to a Series Identifier (SID)
hM}r��(hO]hP]hQ]hR]hU]uhCj
��hY]r��hò)År��}r��(hBX#���Refers to a Series Identifier (SID)r��hCj��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWK]hY]r��hdX#���Refers to a Series Identifier (SID)r ��ÖÅr!��}r"��(hBj��hCj��ubaubahKj	��ubeubjÈ��)År#��}r$��(hBU�hCj‰��hIhJhKjÏ��hM}r%��(hO]hP]hQ]hR]hU]uhWK_hXhhY]r&��(jÔ��)År'��}r(��(hBX���|ti|r)��hCj#��hIhJhKjÛ��hM}r*��(hO]hP]hQ]hR]hU]uhWK�hY]r+��jˆ��)År,��}r-��(hBU�hCj'��hINhKj˘��hM}r.��(UlatexX���t_ir/��hR]hQ]hO]hP]hU]uhWNhY]ubaubj¸��)År0��}r1��(hBXF���The value of :attr:`~Types.SystemMetadata.dateUploaded` for
an object
hM}r2��(hO]hP]hQ]hR]hU]uhCj#��hY]r3��hò)År4��}r5��(hBXE���The value of :attr:`~Types.SystemMetadata.dateUploaded` for
an objecthCj0��hIhJhKhßhM}r6��(hO]hP]hQ]hR]hU]uhWK_hY]r7��(hdX
���The value of r8��ÖÅr9��}r:��(hBX
���The value of hCj4��ubjπ��)År;��}r<��(hBX*���:attr:`~Types.SystemMetadata.dateUploaded`r=��hCj4��hIhJhKjΩ��hM}r>��(UreftypeX���attrjø��âj¿��X!���Types.SystemMetadata.dateUploadedU	refdomainX���pyr?��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWK_hY]r@��j‚��)ÅrA��}rB��(hBj=��hM}rC��(hO]hP]rD��(j ��j?��X���py-attrrE��ehQ]hR]hU]uhCj;��hY]rF��hdX���dateUploadedrG��ÖÅrH��}rI��(hBU�hCjA��ubahKjÏ��ubaubhdX��� for
an objectrJ��ÖÅrK��}rL��(hBX��� for
an objecthCj4��ubeubahKj	��ubeubjÈ��)ÅrM��}rN��(hBU�hCj‰��hIhJhKjÏ��hM}rO��(hO]hP]hQ]hR]hU]uhWKbhXhhY]rP��(jÔ��)ÅrQ��}rR��(hBX���|t1| < |t2|hCjM��hIhJhKjÛ��hM}rS��(hO]hP]hQ]hR]hU]uhWK�hY]rT��(jˆ��)ÅrU��}rV��(hBU�hCjQ��hINhKj˘��hM}rW��(UlatexX���t_1rX��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� < rY��ÖÅrZ��}r[��(hBX��� < hCjQ��ubjˆ��)År\��}r]��(hBU�hCjQ��hINhKj˘��hM}r^��(UlatexX���t_2r_��hR]hQ]hO]hP]hU]uhWNhY]ubeubj¸��)År`��}ra��(hBX���|t1| is older than |t2|
hM}rb��(hO]hP]hQ]hR]hU]uhCjM��hY]rc��hò)Ård��}re��(hBX���|t1| is older than |t2|hCj`��hIhJhKhßhM}rf��(hO]hP]hQ]hR]hU]uhWKbhY]rg��(jˆ��)Årh��}ri��(hBU�hCjd��hINhKj˘��hM}rj��(UlatexjX��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� is older than rk��ÖÅrl��}rm��(hBX��� is older than hCjd��ubjˆ��)Årn��}ro��(hBU�hCjd��hINhKj˘��hM}rp��(Ulatexj_��hR]hQ]hO]hP]hU]uhWNhY]ubeubahKj	��ubeubjÈ��)Årq��}rr��(hBU�hCj‰��hIhJhKjÏ��hM}rs��(hO]hP]hQ]hR]hU]uhWKdhXhhY]rt��(jÔ��)Åru��}rv��(hBX���|PiSjtk|rw��hCjq��hIhJhKjÛ��hM}rx��(hO]hP]hQ]hR]hU]uhWK�hY]ry��jˆ��)Årz��}r{��(hBU�hCju��hINhKj˘��hM}r|��(UlatexX���P_i \binom{S_j}{t_k}r}��hR]hQ]hO]hP]hU]uhWNhY]ubaubj¸��)År~��}r��(hBXª���An object with
:attr:`~Types.SystemMetadata.identifier` (PID) |Pi|, a
:attr:`~v2_0.Types.SystemMetadata.seriesId` (SID)
of |Sj|, and a :attr:`~Types.SystemMetadata.dateUploaded`
of |tk|.
hM}rÄ��(hO]hP]hQ]hR]hU]uhCjq��hY]rÅ��hò)ÅrÇ��}rÉ��(hBX∫���An object with
:attr:`~Types.SystemMetadata.identifier` (PID) |Pi|, a
:attr:`~v2_0.Types.SystemMetadata.seriesId` (SID)
of |Sj|, and a :attr:`~Types.SystemMetadata.dateUploaded`
of |tk|.hCj~��hIhJhKhßhM}rÑ��(hO]hP]hQ]hR]hU]uhWKdhY]rÖ��(hdX���An object with
rÜ��ÖÅrá��}rà��(hBX���An object with
hCjÇ��ubjπ��)Årâ��}rä��(hBX(���:attr:`~Types.SystemMetadata.identifier`rã��hCjÇ��hIhJhKjΩ��hM}rå��(UreftypeX���attrjø��âj¿��X���Types.SystemMetadata.identifierU	refdomainX���pyrç��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKdhY]ré��j‚��)Årè��}rê��(hBjã��hM}rë��(hO]hP]rí��(j ��jç��X���py-attrrì��ehQ]hR]hU]uhCjâ��hY]rî��hdX
���identifierrï��ÖÅrñ��}ró��(hBU�hCjè��ubahKjÏ��ubaubhdX��� (PID) rò��ÖÅrô��}rö��(hBX��� (PID) hCjÇ��ubjˆ��)Årõ��}rú��(hBU�hCjÇ��hINhKj˘��hM}rù��(Ulatexj˚��hR]hQ]hO]hP]hU]uhWNhY]ubhdX���, a
rû��ÖÅrü��}r†��(hBX���, a
hCjÇ��ubjπ��)År°��}r¢��(hBX+���:attr:`~v2_0.Types.SystemMetadata.seriesId`r£��hCjÇ��hIhJhKjΩ��hM}r§��(UreftypeX���attrjø��âj¿��X"���v2_0.Types.SystemMetadata.seriesIdU	refdomainX���pyr•��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKdhY]r¶��j‚��)Årß��}r®��(hBj£��hM}r©��(hO]hP]r™��(j ��j•��X���py-attrr´��ehQ]hR]hU]uhCj°��hY]r¨��hdX���seriesIdr≠��ÖÅrÆ��}rØ��(hBU�hCjß��ubahKjÏ��ubaubhdX
��� (SID)
of r∞��ÖÅr±��}r≤��(hBX
��� (SID)
of hCjÇ��ubjˆ��)År≥��}r¥��(hBU�hCjÇ��hINhKj˘��hM}rµ��(UlatexX���S_jr∂��hR]hQ]hO]hP]hU]uhWNhY]ubhdX���, and a r∑��ÖÅr∏��}rπ��(hBX���, and a hCjÇ��ubjπ��)År∫��}rª��(hBX*���:attr:`~Types.SystemMetadata.dateUploaded`rº��hCjÇ��hIhJhKjΩ��hM}rΩ��(UreftypeX���attrjø��âj¿��X!���Types.SystemMetadata.dateUploadedU	refdomainX���pyræ��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKdhY]rø��j‚��)År¿��}r¡��(hBjº��hM}r¬��(hO]hP]r√��(j ��jæ��X���py-attrrƒ��ehQ]hR]hU]uhCj∫��hY]r≈��hdX���dateUploadedr∆��ÖÅr«��}r»��(hBU�hCj¿��ubahKjÏ��ubaubhdX���
of r…��ÖÅr ��}rÀ��(hBX���
of hCjÇ��ubjˆ��)ÅrÃ��}rÕ��(hBU�hCjÇ��hINhKj˘��hM}rŒ��(UlatexX���t_krœ��hR]hQ]hO]hP]hU]uhWNhY]ubhdX���.ÖÅr–��}r—��(hBX���.hCjÇ��ubeubahKj	��ubeubjÈ��)År“��}r”��(hBU�hCj‰��hIhJhKjÏ��hM}r‘��(hO]hP]hQ]hR]hU]uhWKjhXhhY]r’��(jÔ��)År÷��}r◊��(hBX
���|Pi| |b| |Pj|hCj“��hIhJhKjÛ��hM}rÿ��(hO]hP]hQ]hR]hU]uhWK�hY]rŸ��(jˆ��)År⁄��}r€��(hBU�hCj÷��hINhKj˘��hM}r‹��(Ulatexj˚��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� ÖÅr›��}rfi��(hBX��� hCj÷��ubjˆ��)Årfl��}r‡��(hBU�hCj÷��hINhKj˘��hM}r·��(UlatexX���\rightarrowr‚��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� ÖÅr„��}r‰��(hBX��� hCj÷��ubjˆ��)ÅrÂ��}rÊ��(hBU�hCj÷��hINhKj˘��hM}rÁ��(UlatexX���P_jrË��hR]hQ]hO]hP]hU]uhWNhY]ubeubj¸��)ÅrÈ��}rÍ��(hBXY���|Pi| has an :attr:`~Types.SystemMetadata.obsoletedBy`
entry that contains the value |Pj|
hM}rÎ��(hO]hP]hQ]hR]hU]uhCj“��hY]rÏ��hò)ÅrÌ��}rÓ��(hBXX���|Pi| has an :attr:`~Types.SystemMetadata.obsoletedBy`
entry that contains the value |Pj|hCjÈ��hIhJhKhßhM}rÔ��(hO]hP]hQ]hR]hU]uhWKjhY]r��(jˆ��)ÅrÒ��}rÚ��(hBU�hCjÌ��hINhKj˘��hM}rÛ��(Ulatexj˚��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� has an rÙ��ÖÅrı��}rˆ��(hBX��� has an hCjÌ��ubjπ��)År˜��}r¯��(hBX)���:attr:`~Types.SystemMetadata.obsoletedBy`r˘��hCjÌ��hIhJhKjΩ��hM}r˙��(UreftypeX���attrjø��âj¿��X ���Types.SystemMetadata.obsoletedByU	refdomainX���pyr˚��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKjhY]r¸��j‚��)År˝��}r˛��(hBj˘��hM}rˇ��(hO]hP]r���(j ��j˚��X���py-attrr��ehQ]hR]hU]uhCj˜��hY]r��hdX���obsoletedByr��ÖÅr��}r��(hBU�hCj˝��ubahKjÏ��ubaubhdX���
entry that contains the value r��ÖÅr��}r��(hBX���
entry that contains the value hCjÌ��ubjˆ��)År	��}r
��(hBU�hCjÌ��hINhKj˘��hM}r��(UlatexjË��hR]hQ]hO]hP]hU]uhWNhY]ubeubahKj	��ubeubjÈ��)År��}r
��(hBU�hCj‰��hIhJhKjÏ��hM}r��(hO]hP]hQ]hR]hU]uhWKmhXhhY]r��(jÔ��)År��}r��(hBX
���|Pi| |o| |Pj|hCj��hIhJhKjÛ��hM}r��(hO]hP]hQ]hR]hU]uhWK�hY]r��(jˆ��)År��}r��(hBU�hCj��hINhKj˘��hM}r��(Ulatexj˚��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� ÖÅr��}r��(hBX��� hCj��ubjˆ��)År��}r��(hBU�hCj��hINhKj˘��hM}r��(UlatexX
���\leftarrowr��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� ÖÅr��}r��(hBX��� hCj��ubjˆ��)År��}r ��(hBU�hCj��hINhKj˘��hM}r!��(UlatexjË��hR]hQ]hO]hP]hU]uhWNhY]ubeubj¸��)År"��}r#��(hBXW���|Pj| has an :attr:`~Types.SystemMetadata.obsoletes`
entry that contains the value |Pi|
hM}r$��(hO]hP]hQ]hR]hU]uhCj��hY]r%��hò)År&��}r'��(hBXV���|Pj| has an :attr:`~Types.SystemMetadata.obsoletes`
entry that contains the value |Pi|hCj"��hIhJhKhßhM}r(��(hO]hP]hQ]hR]hU]uhWKmhY]r)��(jˆ��)År*��}r+��(hBU�hCj&��hINhKj˘��hM}r,��(UlatexjË��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� has an r-��ÖÅr.��}r/��(hBX��� has an hCj&��ubjπ��)År0��}r1��(hBX'���:attr:`~Types.SystemMetadata.obsoletes`r2��hCj&��hIhJhKjΩ��hM}r3��(UreftypeX���attrjø��âj¿��X���Types.SystemMetadata.obsoletesU	refdomainX���pyr4��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKmhY]r5��j‚��)År6��}r7��(hBj2��hM}r8��(hO]hP]r9��(j ��j4��X���py-attrr:��ehQ]hR]hU]uhCj0��hY]r;��hdX	���obsoletesr<��ÖÅr=��}r>��(hBU�hCj6��ubahKjÏ��ubaubhdX���
entry that contains the value r?��ÖÅr@��}rA��(hBX���
entry that contains the value hCj&��ubjˆ��)ÅrB��}rC��(hBU�hCj&��hINhKj˘��hM}rD��(Ulatexj˚��hR]hQ]hO]hP]hU]uhWNhY]ubeubahKj	��ubeubjÈ��)ÅrE��}rF��(hBU�hCj‰��hIhJhKjÏ��hM}rG��(hO]hP]hQ]hR]hU]uhWKphXhhY]rH��(jÔ��)ÅrI��}rJ��(hBX
���|Pi| |O| |Pj|hCjE��hIhJhKjÛ��hM}rK��(hO]hP]hQ]hR]hU]uhWK�hY]rL��(jˆ��)ÅrM��}rN��(hBU�hCjI��hINhKj˘��hM}rO��(Ulatexj˚��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� ÖÅrP��}rQ��(hBX��� hCjI��ubjˆ��)ÅrR��}rS��(hBU�hCjI��hINhKj˘��hM}rT��(UlatexX���\leftrightarrowsrU��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� ÖÅrV��}rW��(hBX��� hCjI��ubjˆ��)ÅrX��}rY��(hBU�hCjI��hINhKj˘��hM}rZ��(UlatexjË��hR]hQ]hO]hP]hU]uhWNhY]ubeubj¸��)År[��}r\��(hBXµ���|Pi| has an
:attr:`~Types.SystemMetadata.obsoletedBy` entry that
contains the value |Pj| and |Pj| has an
:attr:`~Types.SystemMetadata.obsoletes` entry that
contains the value |Pi|.
hM}r]��(hO]hP]hQ]hR]hU]uhCjE��hY]r^��hò)År_��}r`��(hBX¥���|Pi| has an
:attr:`~Types.SystemMetadata.obsoletedBy` entry that
contains the value |Pj| and |Pj| has an
:attr:`~Types.SystemMetadata.obsoletes` entry that
contains the value |Pi|.hCj[��hIhJhKhßhM}ra��(hO]hP]hQ]hR]hU]uhWKphY]rb��(jˆ��)Årc��}rd��(hBU�hCj_��hINhKj˘��hM}re��(Ulatexj˚��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� has an
rf��ÖÅrg��}rh��(hBX��� has an
hCj_��ubjπ��)Åri��}rj��(hBX)���:attr:`~Types.SystemMetadata.obsoletedBy`rk��hCj_��hIhJhKjΩ��hM}rl��(UreftypeX���attrjø��âj¿��X ���Types.SystemMetadata.obsoletedByU	refdomainX���pyrm��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKphY]rn��j‚��)Åro��}rp��(hBjk��hM}rq��(hO]hP]rr��(j ��jm��X���py-attrrs��ehQ]hR]hU]uhCji��hY]rt��hdX���obsoletedByru��ÖÅrv��}rw��(hBU�hCjo��ubahKjÏ��ubaubhdX��� entry that
contains the value rx��ÖÅry��}rz��(hBX��� entry that
contains the value hCj_��ubjˆ��)År{��}r|��(hBU�hCj_��hINhKj˘��hM}r}��(UlatexjË��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� and r~��ÖÅr��}rÄ��(hBX��� and hCj_��ubjˆ��)ÅrÅ��}rÇ��(hBU�hCj_��hINhKj˘��hM}rÉ��(UlatexjË��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� has an
rÑ��ÖÅrÖ��}rÜ��(hBX��� has an
hCj_��ubjπ��)Årá��}rà��(hBX'���:attr:`~Types.SystemMetadata.obsoletes`râ��hCj_��hIhJhKjΩ��hM}rä��(UreftypeX���attrjø��âj¿��X���Types.SystemMetadata.obsoletesU	refdomainX���pyrã��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKphY]rå��j‚��)Årç��}ré��(hBjâ��hM}rè��(hO]hP]rê��(j ��jã��X���py-attrrë��ehQ]hR]hU]uhCjá��hY]rí��hdX	���obsoletesrì��ÖÅrî��}rï��(hBU�hCjç��ubahKjÏ��ubaubhdX��� entry that
contains the value rñ��ÖÅró��}rò��(hBX��� entry that
contains the value hCj_��ubjˆ��)Årô��}rö��(hBU�hCj_��hINhKj˘��hM}rõ��(Ulatexj˚��hR]hQ]hO]hP]hU]uhWNhY]ubhdX���.ÖÅrú��}rù��(hBX���.hCj_��ubeubahKj	��ubeubjÈ��)Årû��}rü��(hBU�hCj‰��hIhJhKjÏ��hM}r†��(hO]hP]hQ]hR]hU]uhWKvhXhhY]r°��(jÔ��)År¢��}r£��(hBX
���|Pi| |x| |Pj|hCjû��hIhJhKjÛ��hM}r§��(hO]hP]hQ]hR]hU]uhWK�hY]r•��(jˆ��)År¶��}rß��(hBU�hCj¢��hINhKj˘��hM}r®��(Ulatexj˚��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� ÖÅr©��}r™��(hBX��� hCj¢��ubjˆ��)År´��}r¨��(hBU�hCj¢��hINhKj˘��hM}r≠��(UlatexX���\squarerÆ��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� ÖÅrØ��}r∞��(hBX��� hCj¢��ubjˆ��)År±��}r≤��(hBU�hCj¢��hINhKj˘��hM}r≥��(UlatexjË��hR]hQ]hO]hP]hU]uhWNhY]ubeubj¸��)År¥��}rµ��(hBXw���Neither :attr:`~Types.SystemMetadata.obsoletedBy`
nor :attr:`~Types.SystemMetadata.obsoletes` is set by
|Pi|  or |Pj|.
hM}r∂��(hO]hP]hQ]hR]hU]uhCjû��hY]r∑��hò)År∏��}rπ��(hBXv���Neither :attr:`~Types.SystemMetadata.obsoletedBy`
nor :attr:`~Types.SystemMetadata.obsoletes` is set by
|Pi|  or |Pj|.hCj¥��hIhJhKhßhM}r∫��(hO]hP]hQ]hR]hU]uhWKvhY]rª��(hdX���Neither rº��ÖÅrΩ��}ræ��(hBX���Neither hCj∏��ubjπ��)Årø��}r¿��(hBX)���:attr:`~Types.SystemMetadata.obsoletedBy`r¡��hCj∏��hIhJhKjΩ��hM}r¬��(UreftypeX���attrjø��âj¿��X ���Types.SystemMetadata.obsoletedByU	refdomainX���pyr√��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKvhY]rƒ��j‚��)År≈��}r∆��(hBj¡��hM}r«��(hO]hP]r»��(j ��j√��X���py-attrr…��ehQ]hR]hU]uhCjø��hY]r ��hdX���obsoletedByrÀ��ÖÅrÃ��}rÕ��(hBU�hCj≈��ubahKjÏ��ubaubhdX���
nor rŒ��ÖÅrœ��}r–��(hBX���
nor hCj∏��ubjπ��)År—��}r“��(hBX'���:attr:`~Types.SystemMetadata.obsoletes`r”��hCj∏��hIhJhKjΩ��hM}r‘��(UreftypeX���attrjø��âj¿��X���Types.SystemMetadata.obsoletesU	refdomainX���pyr’��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKvhY]r÷��j‚��)År◊��}rÿ��(hBj”��hM}rŸ��(hO]hP]r⁄��(j ��j’��X���py-attrr€��ehQ]hR]hU]uhCj—��hY]r‹��hdX	���obsoletesr›��ÖÅrfi��}rfl��(hBU�hCj◊��ubahKjÏ��ubaubhdX��� is set by
r‡��ÖÅr·��}r‚��(hBX��� is set by
hCj∏��ubjˆ��)År„��}r‰��(hBU�hCj∏��hINhKj˘��hM}rÂ��(Ulatexj˚��hR]hQ]hO]hP]hU]uhWNhY]ubhdX���  or rÊ��ÖÅrÁ��}rË��(hBX���  or hCj∏��ubjˆ��)ÅrÈ��}rÍ��(hBU�hCj∏��hINhKj˘��hM}rÎ��(UlatexjË��hR]hQ]hO]hP]hU]uhWNhY]ubhdX���.ÖÅrÏ��}rÌ��(hBX���.hCj∏��ubeubahKj	��ubeubjÈ��)ÅrÓ��}rÔ��(hBU�hCj‰��hIhJhKjÏ��hM}r��(hO]hP]hQ]hR]hU]uhWKzhXhhY]rÒ��(jÔ��)ÅrÚ��}rÛ��(hBX���``??``rÙ��hCjÓ��hIhJhKjÛ��hM}rı��(hO]hP]hQ]hR]hU]uhWK�hY]rˆ��j‚��)År˜��}r¯��(hBjÙ��hM}r˘��(hO]hP]hQ]hR]hU]uhCjÚ��hY]r˙��hdX���??r˚��ÖÅr¸��}r˝��(hBU�hCj˜��ubahKjÏ��ubaubj¸��)År˛��}rˇ��(hBX7���Object was not synchronized, and so unknown to DataONE
hM}r���(hO]hP]hQ]hR]hU]uhCjÓ��hY]r��hò)År��}r��(hBX6���Object was not synchronized, and so unknown to DataONEr��hCj˛��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWKzhY]r��hdX6���Object was not synchronized, and so unknown to DataONEr��ÖÅr��}r	��(hBj��hCj��ubaubahKj	��ubeubjÈ��)År
��}r��(hBU�hCj‰��hIhJhKjÏ��hM}r��(hO]hP]hQ]hR]hU]uhWK|hXhhY]r
��(jÔ��)År��}r��(hBX���|rSi|r��hCj
��hIhJhKjÛ��hM}r��(hO]hP]hQ]hR]hU]uhWK�hY]r��jˆ��)År��}r��(hBU�hCj��hINhKj˘��hM}r��(UlatexX���resolve(S_i) \Rrightarrow P_jr��hR]hQ]hO]hP]hU]uhWNhY]ubaubj¸��)År��}r��(hBX(���Resolving SID |Si| results in PID |Pj|

hM}r��(hO]hP]hQ]hR]hU]uhCj
��hY]r��hò)År��}r��(hBX&���Resolving SID |Si| results in PID |Pj|hCj��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWK|hY]r��(hdX���Resolving SID r��ÖÅr ��}r!��(hBX���Resolving SID hCj��ubjˆ��)År"��}r#��(hBU�hCj��hINhKj˘��hM}r$��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhY]ubhdX��� results in PID r%��ÖÅr&��}r'��(hBX��� results in PID hCj��ubjˆ��)År(��}r)��(hBU�hCj��hINhKj˘��hM}r*��(UlatexjË��hR]hQ]hO]hP]hU]uhWNhY]ubeubahKj	��ubeubeubh?)År+��}r,��(hBX���.. |Pi| replace:: :math:`P_i`hChEhIhJhKUsubstitution_definitionr-��hM}r.��(hO]hP]hQ]hR]hU]r/��X���Pir0��auhWKhXhhY]r1��jˆ��)År2��}r3��(hBU�hM}r4��(Ulatexj˚��hR]hQ]hO]hP]hU]uhCj+��hY]hKj˘��ubaubh?)År5��}r6��(hBX���.. |Pj| replace:: :math:`P_j`hChEhIhJhKj-��hM}r7��(hO]hP]hQ]hR]hU]r8��X���Pjr9��auhWKÄhXhhY]r:��jˆ��)År;��}r<��(hBU�hM}r=��(UlatexjË��hR]hQ]hO]hP]hU]uhCj5��hY]hKj˘��ubaubh?)År>��}r?��(hBX���.. |P1| replace:: :math:`P_1`hChEhIhJhKj-��hM}r@��(hO]hP]hQ]hR]hU]rA��X���P1rB��auhWKÅhXhhY]rC��jˆ��)ÅrD��}rE��(hBU�hM}rF��(UlatexX���P_1rG��hR]hQ]hO]hP]hU]uhCj>��hY]hKj˘��ubaubh?)ÅrH��}rI��(hBX���.. |P2| replace:: :math:`P_2`hChEhIhJhKj-��hM}rJ��(hO]hP]hQ]hR]hU]rK��X���P2rL��auhWKÇhXhhY]rM��jˆ��)ÅrN��}rO��(hBU�hM}rP��(UlatexX���P_2rQ��hR]hQ]hO]hP]hU]uhCjH��hY]hKj˘��ubaubh?)ÅrR��}rS��(hBX���.. |P3| replace:: :math:`P_3`hChEhIhJhKj-��hM}rT��(hO]hP]hQ]hR]hU]rU��X���P3rV��auhWKÉhXhhY]rW��jˆ��)ÅrX��}rY��(hBU�hM}rZ��(UlatexX���P_3r[��hR]hQ]hO]hP]hU]uhCjR��hY]hKj˘��ubaubh?)År\��}r]��(hBX���.. |P4| replace:: :math:`P_4`hChEhIhJhKj-��hM}r^��(hO]hP]hQ]hR]hU]r_��X���P4r`��auhWKÑhXhhY]ra��jˆ��)Årb��}rc��(hBU�hM}rd��(UlatexX���P_4re��hR]hQ]hO]hP]hU]uhCj\��hY]hKj˘��ubaubh?)Årf��}rg��(hBX���.. |Si| replace:: :math:`S_i`hChEhIhJhKj-��hM}rh��(hO]hP]hQ]hR]hU]ri��X���Sirj��auhWKÖhXhhY]rk��jˆ��)Årl��}rm��(hBU�hM}rn��(Ulatexj��hR]hQ]hO]hP]hU]uhCjf��hY]hKj˘��ubaubh?)Åro��}rp��(hBX���.. |Sj| replace:: :math:`S_j`hChEhIhJhKj-��hM}rq��(hO]hP]hQ]hR]hU]rr��X���Sjrs��auhWKÜhXhhY]rt��jˆ��)Åru��}rv��(hBU�hM}rw��(Ulatexj∂��hR]hQ]hO]hP]hU]uhCjo��hY]hKj˘��ubaubh?)Årx��}ry��(hBX���.. |S1| replace:: :math:`S_1`hChEhIhJhKj-��hM}rz��(hO]hP]hQ]hR]hU]r{��X���S1r|��auhWKáhXhhY]r}��jˆ��)År~��}r��(hBU�hM}rÄ��(UlatexX���S_1rÅ��hR]hQ]hO]hP]hU]uhCjx��hY]hKj˘��ubaubh@h?)ÅrÇ��}rÉ��(hBX���.. |ti| replace:: :math:`t_i`hChEhIhJhKj-��hM}rÑ��(hO]hP]hQ]hR]hU]rÖ��X���tirÜ��auhWKâhXhhY]rá��jˆ��)Årà��}râ��(hBU�hM}rä��(Ulatexj/��hR]hQ]hO]hP]hU]uhCjÇ��hY]hKj˘��ubaubh?)Årã��}rå��(hBX���.. |tk| replace:: :math:`t_k`hChEhIhJhKj-��hM}rç��(hO]hP]hQ]hR]hU]ré��X���tkrè��auhWKähXhhY]rê��jˆ��)Årë��}rí��(hBU�hM}rì��(Ulatexjœ��hR]hQ]hO]hP]hU]uhCjã��hY]hKj˘��ubaubh?)Årî��}rï��(hBX���.. |t1| replace:: :math:`t_1`hChEhIhJhKj-��hM}rñ��(hO]hP]hQ]hR]hU]ró��X���t1rò��auhWKãhXhhY]rô��jˆ��)Årö��}rõ��(hBU�hM}rú��(UlatexjX��hR]hQ]hO]hP]hU]uhCjî��hY]hKj˘��ubaubh?)Årù��}rû��(hBX���.. |t2| replace:: :math:`t_2`hChEhIhJhKj-��hM}rü��(hO]hP]hQ]hR]hU]r†��X���t2r°��auhWKåhXhhY]r¢��jˆ��)År£��}r§��(hBU�hM}r•��(Ulatexj_��hR]hQ]hO]hP]hU]uhCjù��hY]hKj˘��ubaubh?)År¶��}rß��(hBX���.. |t3| replace:: :math:`t_3`hChEhIhJhKj-��hM}r®��(hO]hP]hQ]hR]hU]r©��X���t3r™��auhWKçhXhhY]r´��jˆ��)År¨��}r≠��(hBU�hM}rÆ��(UlatexX���t_3hR]hQ]hO]hP]hU]uhCj¶��hY]hKj˘��ubaubh?)ÅrØ��}r∞��(hBX���.. |_| unicode:: 0xA0
   :trim:hChEhIhJhKj-��hM}r±��(Ultrimr≤��KhR]hQ]hO]hP]hU]r≥��X���_aUrtrimr¥��KuhWKéhXhhY]rµ��hdX���¬†ÖÅr∂��}r∑��(hBU�hCjØ��ubaubh?)År∏��}rπ��(hBX2���.. |PiSjtk| replace:: :math:`P_i \binom{S_j}{t_k}`hChEhIhJhKj-��hM}r∫��(hO]hP]hQ]hR]hU]rª��X���PiSjtkrº��auhWKêhXhhY]rΩ��jˆ��)Åræ��}rø��(hBU�hM}r¿��(Ulatexj}��hR]hQ]hO]hP]hU]uhCj∏��hY]hKj˘��ubaubh?)År¡��}r¬��(hBX8���.. |rSi| replace:: :math:`resolve(S_i) \Rrightarrow P_j`hChEhIhJhKj-��hM}r√��(hO]hP]hQ]hR]hU]rƒ��X���rSir≈��auhWKëhXhhY]r∆��jˆ��)År«��}r»��(hBU�hM}r…��(Ulatexj��hR]hQ]hO]hP]hU]uhCj¡��hY]hKj˘��ubaubh?)År ��}rÀ��(hBX#���.. |o| replace:: :math:`\leftarrow`hChEhIhJhKj-��hM}rÃ��(hO]hP]hQ]hR]hU]rÕ��X���oauhWKíhXhhY]rŒ��jˆ��)Årœ��}r–��(hBU�hM}r—��(Ulatexj��hR]hQ]hO]hP]hU]uhCj ��hY]hKj˘��ubaubh?)År“��}r”��(hBX$���.. |b| replace:: :math:`\rightarrow`hChEhIhJhKj-��hM}r‘��(hO]hP]hQ]hR]hU]r’��X���bauhWKìhXhhY]r÷��jˆ��)År◊��}rÿ��(hBU�hM}rŸ��(Ulatexj‚��hR]hQ]hO]hP]hU]uhCj“��hY]hKj˘��ubaubh?)År⁄��}r€��(hBX)���.. |O| replace:: :math:`\leftrightarrows`hChEhIhJhKj-��hM}r‹��(hO]hP]hQ]hR]hU]r›��X���OauhWKîhXhhY]rfi��jˆ��)Årfl��}r‡��(hBU�hM}r·��(UlatexjU��hR]hQ]hO]hP]hU]uhCj⁄��hY]hKj˘��ubaubh?)År‚��}r„��(hBX#���.. |x| replace:: :math:`\square`


hChEhIhJhKj-��hM}r‰��(hO]hP]hQ]hR]hU]rÂ��X���xauhWKïhXhhY]rÊ��jˆ��)ÅrÁ��}rË��(hBU�hM}rÈ��(UlatexjÆ��hR]hQ]hO]hP]hU]uhCj‚��hY]hKj˘��ubaubhD)ÅrÍ��}rÎ��(hBU�hChEhIhJhKhLhM}rÏ��(hO]hP]hQ]hR]rÌ��h‰ahU]rÓ��hauhWKöhXhhY]rÔ��(h[)År��}rÒ��(hBhÈhCjÍ��hIhJhKh_hM}rÚ��(hR]hQ]hO]hP]hU]hah„uhWKöhXhhY]rÛ��hdX���Case 1rÙ��ÖÅrı��}rˆ��(hBhÈhCj��ubaubhs)År˜��}r¯��(hBU�hCjÍ��hIhJhKhvhM}r˘��(hR]hQ]hO]hP]hU]haX���equation-c1r˙��uhWNhXhhY]ubcsphinx.ext.mathbase
displaymath
r˚��)År¸��}r˝��(hBU�hCjÍ��hIhJh{}hKUdisplaymathr˛��hM}rˇ��(Ulatexr���Xl���P_1\binom{S_1}{t_1} & \leftrightarrows P_2\binom{S_1}{t_2} \\
t_1 & < t_2 \\
resolve(S_1) & \Rrightarrow P_2Unowrapr��âUnumberr��KhR]r��j˙��ahQ]hO]hP]hU]Udocnamer��j√��Ulabelr��cdocutils.nodes
reprunicode
r��X���c1r��ÖÅr��}r	��buhWKùhXhhÉ}r
��j˙��j˜��shY]ubhò)År��}r��(hBX\���A set of objects :math:`O = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCjÍ��hIhJhKhßhM}r
��(hO]hP]hQ]hR]hU]uhWK§hXhhY]r��(hdX���A set of objects r��ÖÅr��}r��(hBX���A set of objects hCj��ubjˆ��)År��}r��(hBU�hM}r��(UlatexX���O = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCj��hY]hKj˘��ubhdX"��� have the same series
identifier, r��ÖÅr��}r��(hBX"��� have the same series
identifier, hCj��ubjˆ��)År��}r��(hBU�hCj��hINhKj˘��hM}r��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr��}r��(hBX���.hCj��ubeubhò)År��}r��(hBX∂���All objects in :math:`O` are participants in an obsolescence chain since |P2|
:attr:`~Types.SystemMetadata.obsoletes` |P1| and |P1| is
:attr:`~Types.SystemMetadata.obsoletedBy` |P2|.hCjÍ��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWKßhXhhY]r ��(hdX���All objects in r!��ÖÅr"��}r#��(hBX���All objects in hCj��ubjˆ��)År$��}r%��(hBU�hM}r&��(UlatexX���OhR]hQ]hO]hP]hU]uhCj��hY]hKj˘��ubhdX1��� are participants in an obsolescence chain since r'��ÖÅr(��}r)��(hBX1��� are participants in an obsolescence chain since hCj��ubjˆ��)År*��}r+��(hBU�hCj��hINhKj˘��hM}r,��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���
ÖÅr-��}r.��(hBX���
hCj��ubjπ��)År/��}r0��(hBX'���:attr:`~Types.SystemMetadata.obsoletes`r1��hCj��hIhJhKjΩ��hM}r2��(UreftypeX���attrjø��âj¿��X���Types.SystemMetadata.obsoletesU	refdomainX���pyr3��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKßhY]r4��j‚��)År5��}r6��(hBj1��hM}r7��(hO]hP]r8��(j ��j3��X���py-attrr9��ehQ]hR]hU]uhCj/��hY]r:��hdX	���obsoletesr;��ÖÅr<��}r=��(hBU�hCj5��ubahKjÏ��ubaubhdX��� ÖÅr>��}r?��(hBX��� hCj��ubjˆ��)År@��}rA��(hBU�hCj��hINhKj˘��hM}rB��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� and rC��ÖÅrD��}rE��(hBX��� and hCj��ubjˆ��)ÅrF��}rG��(hBU�hCj��hINhKj˘��hM}rH��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� is
rI��ÖÅrJ��}rK��(hBX��� is
hCj��ubjπ��)ÅrL��}rM��(hBX)���:attr:`~Types.SystemMetadata.obsoletedBy`rN��hCj��hIhJhKjΩ��hM}rO��(UreftypeX���attrjø��âj¿��X ���Types.SystemMetadata.obsoletedByU	refdomainX���pyrP��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKßhY]rQ��j‚��)ÅrR��}rS��(hBjN��hM}rT��(hO]hP]rU��(j ��jP��X���py-attrrV��ehQ]hR]hU]uhCjL��hY]rW��hdX���obsoletedByrX��ÖÅrY��}rZ��(hBU�hCjR��ubahKjÏ��ubaubhdX��� ÖÅr[��}r\��(hBX��� hCj��ubjˆ��)År]��}r^��(hBU�hCj��hINhKj˘��hM}r_��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr`��}ra��(hBX���.hCj��ubeubhò)Årb��}rc��(hBXn���All elements of the obsolescence chain :math:`P_1 \leftrightarrows P_2` have the
same series identifier, |S1|.hCjÍ��hIhJhKhßhM}rd��(hO]hP]hQ]hR]hU]uhWK´hXhhY]re��(hdX'���All elements of the obsolescence chain rf��ÖÅrg��}rh��(hBX'���All elements of the obsolescence chain hCjb��ubjˆ��)Åri��}rj��(hBU�hM}rk��(UlatexX���P_1 \leftrightarrows P_2hR]hQ]hO]hP]hU]uhCjb��hY]hKj˘��ubhdX"��� have the
same series identifier, rl��ÖÅrm��}rn��(hBX"��� have the
same series identifier, hCjb��ubjˆ��)Åro��}rp��(hBU�hCjb��hINhKj˘��hM}rq��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrr��}rs��(hBX���.hCjb��ubeubhò)Årt��}ru��(hBXR���The :attr:`~Types.SystemMetadata.dateUploaded` of |P1| is older than that of
|P2|.hCjÍ��hIhJhKhßhM}rv��(hO]hP]hQ]hR]hU]uhWKÆhXhhY]rw��(hdX���The rx��ÖÅry��}rz��(hBX���The hCjt��ubjπ��)År{��}r|��(hBX*���:attr:`~Types.SystemMetadata.dateUploaded`r}��hCjt��hIhJhKjΩ��hM}r~��(UreftypeX���attrjø��âj¿��X!���Types.SystemMetadata.dateUploadedU	refdomainX���pyr��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKÆhY]rÄ��j‚��)ÅrÅ��}rÇ��(hBj}��hM}rÉ��(hO]hP]rÑ��(j ��j��X���py-attrrÖ��ehQ]hR]hU]uhCj{��hY]rÜ��hdX���dateUploadedrá��ÖÅrà��}râ��(hBU�hCjÅ��ubahKjÏ��ubaubhdX��� of rä��ÖÅrã��}rå��(hBX��� of hCjt��ubjˆ��)Årç��}ré��(hBU�hCjt��hINhKj˘��hM}rè��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� is older than that of
rê��ÖÅrë��}rí��(hBX��� is older than that of
hCjt��ubjˆ��)Årì��}rî��(hBU�hCjt��hINhKj˘��hM}rï��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrñ��}ró��(hBX���.hCjt��ubeubhò)Årò��}rô��(hBXe���This is a perfect obsolescence chain and resolving |S1| will result in the
object identified by |P2|.hCjÍ��hIhJhKhßhM}rö��(hO]hP]hQ]hR]hU]uhWK±hXhhY]rõ��(hdX3���This is a perfect obsolescence chain and resolving rú��ÖÅrù��}rû��(hBX3���This is a perfect obsolescence chain and resolving hCjò��ubjˆ��)Årü��}r†��(hBU�hCjò��hINhKj˘��hM}r°��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX)��� will result in the
object identified by r¢��ÖÅr£��}r§��(hBX)��� will result in the
object identified by hCjò��ubjˆ��)År•��}r¶��(hBU�hCjò��hINhKj˘��hM}rß��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr®��}r©��(hBX���.hCjò��ubeubeubhD)År™��}r´��(hBU�hChEhIhJhKhLhM}r¨��(hO]hP]hQ]hR]r≠��h˜ahU]rÆ��hauhWK∂hXhhY]rØ��(h[)År∞��}r±��(hBh¸hCj™��hIhJhKh_hM}r≤��(hR]hQ]hO]hP]hU]hahˆuhWK∂hXhhY]r≥��hdX���Case 2r¥��ÖÅrµ��}r∂��(hBh¸hCj∞��ubaubhs)År∑��}r∏��(hBU�hCj™��hIhJhKhvhM}rπ��(hR]hQ]hO]hP]hU]haX���equation-c2r∫��uhWNhXhhY]ubj˚��)Årª��}rº��(hBU�hCj™��hIhJh{}hKj˛��hM}rΩ��(j���Xh���P_1\binom{S_1}{t_1}\; & \square \; P_2\binom{S_1}{t_2} \\
t_1 & < t_2 \\
resolve(S_1) & \Rrightarrow P_2j��âj��KhR]ræ��j∫��ahQ]hO]hP]hU]j��j√��j��j��X���c2rø��ÖÅr¿��}r¡��buhWK∏hXhhÉ}r¬��j∫��j∑��shY]ubhò)År√��}rƒ��(hBX\���A set of objects :math:`O = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCj™��hIhJhKhßhM}r≈��(hO]hP]hQ]hR]hU]uhWKøhXhhY]r∆��(hdX���A set of objects r«��ÖÅr»��}r…��(hBX���A set of objects hCj√��ubjˆ��)År ��}rÀ��(hBU�hM}rÃ��(UlatexX���O = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCj√��hY]hKj˘��ubhdX"��� have the same series
identifier, rÕ��ÖÅrŒ��}rœ��(hBX"��� have the same series
identifier, hCj√��ubjˆ��)År–��}r—��(hBU�hCj√��hINhKj˘��hM}r“��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr”��}r‘��(hBX���.hCj√��ubeubhò)År’��}r÷��(hBX<���No obsolescence information associates objects in :math:`O`.r◊��hCj™��hIhJhKhßhM}rÿ��(hO]hP]hQ]hR]hU]uhWK¬hXhhY]rŸ��(hdX2���No obsolescence information associates objects in r⁄��ÖÅr€��}r‹��(hBX2���No obsolescence information associates objects in hCj’��ubjˆ��)År›��}rfi��(hBU�hM}rfl��(UlatexX���OhR]hQ]hO]hP]hU]uhCj’��hY]hKj˘��ubhdX���.ÖÅr‡��}r·��(hBX���.hCj’��ubeubhò)År‚��}r„��(hBXR���The :attr:`~Types.SystemMetadata.dateUploaded` of |P1| is older than that of
|P2|.hCj™��hIhJhKhßhM}r‰��(hO]hP]hQ]hR]hU]uhWKƒhXhhY]rÂ��(hdX���The rÊ��ÖÅrÁ��}rË��(hBX���The hCj‚��ubjπ��)ÅrÈ��}rÍ��(hBX*���:attr:`~Types.SystemMetadata.dateUploaded`rÎ��hCj‚��hIhJhKjΩ��hM}rÏ��(UreftypeX���attrjø��âj¿��X!���Types.SystemMetadata.dateUploadedU	refdomainX���pyrÌ��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKƒhY]rÓ��j‚��)ÅrÔ��}r��(hBjÎ��hM}rÒ��(hO]hP]rÚ��(j ��jÌ��X���py-attrrÛ��ehQ]hR]hU]uhCjÈ��hY]rÙ��hdX���dateUploadedrı��ÖÅrˆ��}r˜��(hBU�hCjÔ��ubahKjÏ��ubaubhdX��� of r¯��ÖÅr˘��}r˙��(hBX��� of hCj‚��ubjˆ��)År˚��}r¸��(hBU�hCj‚��hINhKj˘��hM}r˝��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� is older than that of
r˛��ÖÅrˇ��}r���(hBX��� is older than that of
hCj‚��ubjˆ��)År��}r��(hBU�hCj‚��hINhKj˘��hM}r��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr��}r��(hBX���.hCj‚��ubeubhò)År��}r��(hBXÜ���No obsolescence assertions are made, so resolution is inferred by the most
recent value of :attr:`~Types.SystemMetadata.dateUploaded`.hCj™��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWK«hXhhY]r	��(hdX[���No obsolescence assertions are made, so resolution is inferred by the most
recent value of r
��ÖÅr��}r��(hBX[���No obsolescence assertions are made, so resolution is inferred by the most
recent value of hCj��ubjπ��)År
��}r��(hBX*���:attr:`~Types.SystemMetadata.dateUploaded`r��hCj��hIhJhKjΩ��hM}r��(UreftypeX���attrjø��âj¿��X!���Types.SystemMetadata.dateUploadedU	refdomainX���pyr��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWK«hY]r��j‚��)År��}r��(hBj��hM}r��(hO]hP]r��(j ��j��X���py-attrr��ehQ]hR]hU]uhCj
��hY]r��hdX���dateUploadedr��ÖÅr��}r��(hBU�hCj��ubahKjÏ��ubaubhdX���.ÖÅr��}r��(hBX���.hCj��ubeubeubhD)År��}r��(hBU�hChEhIhJhKhLhM}r ��(hO]hP]hQ]hR]r!��j
��ahU]r"��hauhWKÃhXhhY]r#��(h[)År$��}r%��(hBj��hCj��hIhJhKh_hM}r&��(hR]hQ]hO]hP]hU]haj	��uhWKÃhXhhY]r'��hdX���Case 3r(��ÖÅr)��}r*��(hBj��hCj$��ubaubhs)År+��}r,��(hBU�hCj��hIhJhKhvhM}r-��(hR]hQ]hO]hP]hU]haX���equation-c3r.��uhWNhXhhY]ubj˚��)År/��}r0��(hBU�hCj��hIhJh{}hKj˛��hM}r1��(j���Xk���P_1\binom{S_1}{t_1}\; & \leftarrow \; P_2\binom{S_1}{t_2} \\
t_1 & < t_2 \\
resolve(S_1) & \Rrightarrow P_2j��âj��KhR]r2��j.��ahQ]hO]hP]hU]j��j√��j��j��X���c3r3��ÖÅr4��}r5��buhWKŒhXhhÉ}r6��j.��j+��shY]ubhò)År7��}r8��(hBX\���A set of objects :math:`O = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCj��hIhJhKhßhM}r9��(hO]hP]hQ]hR]hU]uhWK’hXhhY]r:��(hdX���A set of objects r;��ÖÅr<��}r=��(hBX���A set of objects hCj7��ubjˆ��)År>��}r?��(hBU�hM}r@��(UlatexX���O = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCj7��hY]hKj˘��ubhdX"��� have the same series
identifier, rA��ÖÅrB��}rC��(hBX"��� have the same series
identifier, hCj7��ubjˆ��)ÅrD��}rE��(hBU�hCj7��hINhKj˘��hM}rF��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrG��}rH��(hBX���.hCj7��ubeubhò)ÅrI��}rJ��(hBX—���All objects in :math:`O` are participants in an obsolescence chain since |P2|
:attr:`~Types.SystemMetadata.obsoletes` |P1| even though |P1| does not assert
it is :attr:`~Types.SystemMetadata.obsoletedBy` |P2|.hCj��hIhJhKhßhM}rK��(hO]hP]hQ]hR]hU]uhWKÿhXhhY]rL��(hdX���All objects in rM��ÖÅrN��}rO��(hBX���All objects in hCjI��ubjˆ��)ÅrP��}rQ��(hBU�hM}rR��(UlatexX���OhR]hQ]hO]hP]hU]uhCjI��hY]hKj˘��ubhdX1��� are participants in an obsolescence chain since rS��ÖÅrT��}rU��(hBX1��� are participants in an obsolescence chain since hCjI��ubjˆ��)ÅrV��}rW��(hBU�hCjI��hINhKj˘��hM}rX��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���
ÖÅrY��}rZ��(hBX���
hCjI��ubjπ��)År[��}r\��(hBX'���:attr:`~Types.SystemMetadata.obsoletes`r]��hCjI��hIhJhKjΩ��hM}r^��(UreftypeX���attrjø��âj¿��X���Types.SystemMetadata.obsoletesU	refdomainX���pyr_��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKÿhY]r`��j‚��)Åra��}rb��(hBj]��hM}rc��(hO]hP]rd��(j ��j_��X���py-attrre��ehQ]hR]hU]uhCj[��hY]rf��hdX	���obsoletesrg��ÖÅrh��}ri��(hBU�hCja��ubahKjÏ��ubaubhdX��� ÖÅrj��}rk��(hBX��� hCjI��ubjˆ��)Årl��}rm��(hBU�hCjI��hINhKj˘��hM}rn��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX
��� even though ro��ÖÅrp��}rq��(hBX
��� even though hCjI��ubjˆ��)Årr��}rs��(hBU�hCjI��hINhKj˘��hM}rt��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� does not assert
it is ru��ÖÅrv��}rw��(hBX��� does not assert
it is hCjI��ubjπ��)Årx��}ry��(hBX)���:attr:`~Types.SystemMetadata.obsoletedBy`rz��hCjI��hIhJhKjΩ��hM}r{��(UreftypeX���attrjø��âj¿��X ���Types.SystemMetadata.obsoletedByU	refdomainX���pyr|��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKÿhY]r}��j‚��)År~��}r��(hBjz��hM}rÄ��(hO]hP]rÅ��(j ��j|��X���py-attrrÇ��ehQ]hR]hU]uhCjx��hY]rÉ��hdX���obsoletedByrÑ��ÖÅrÖ��}rÜ��(hBU�hCj~��ubahKjÏ��ubaubhdX��� ÖÅrá��}rà��(hBX��� hCjI��ubjˆ��)Årâ��}rä��(hBU�hCjI��hINhKj˘��hM}rã��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrå��}rç��(hBX���.hCjI��ubeubhò)Åré��}rè��(hBXh���All elements of the obsolescence chain :math:`P_1 \leftarrow P_2` have the
same series identifier, |S1|.hCj��hIhJhKhßhM}rê��(hO]hP]hQ]hR]hU]uhWK‹hXhhY]rë��(hdX'���All elements of the obsolescence chain rí��ÖÅrì��}rî��(hBX'���All elements of the obsolescence chain hCjé��ubjˆ��)Årï��}rñ��(hBU�hM}ró��(UlatexX���P_1 \leftarrow P_2hR]hQ]hO]hP]hU]uhCjé��hY]hKj˘��ubhdX"��� have the
same series identifier, rò��ÖÅrô��}rö��(hBX"��� have the
same series identifier, hCjé��ubjˆ��)Årõ��}rú��(hBU�hCjé��hINhKj˘��hM}rù��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrû��}rü��(hBX���.hCjé��ubeubhò)År†��}r°��(hBXR���The :attr:`~Types.SystemMetadata.dateUploaded` of |P1| is older than that of
|P2|.hCj��hIhJhKhßhM}r¢��(hO]hP]hQ]hR]hU]uhWKflhXhhY]r£��(hdX���The r§��ÖÅr•��}r¶��(hBX���The hCj†��ubjπ��)Årß��}r®��(hBX*���:attr:`~Types.SystemMetadata.dateUploaded`r©��hCj†��hIhJhKjΩ��hM}r™��(UreftypeX���attrjø��âj¿��X!���Types.SystemMetadata.dateUploadedU	refdomainX���pyr´��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWKflhY]r¨��j‚��)År≠��}rÆ��(hBj©��hM}rØ��(hO]hP]r∞��(j ��j´��X���py-attrr±��ehQ]hR]hU]uhCjß��hY]r≤��hdX���dateUploadedr≥��ÖÅr¥��}rµ��(hBU�hCj≠��ubahKjÏ��ubaubhdX��� of r∂��ÖÅr∑��}r∏��(hBX��� of hCj†��ubjˆ��)Årπ��}r∫��(hBU�hCj†��hINhKj˘��hM}rª��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� is older than that of
rº��ÖÅrΩ��}ræ��(hBX��� is older than that of
hCj†��ubjˆ��)Årø��}r¿��(hBU�hCj†��hINhKj˘��hM}r¡��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr¬��}r√��(hBX���.hCj†��ubeubhò)Årƒ��}r≈��(hBXu���This is a damaged, but consistent obsolescence chain and resolving |S1| will
result in the object identified by |P2|.hCj��hIhJhKhßhM}r∆��(hO]hP]hQ]hR]hU]uhWK‚hXhhY]r«��(hdXC���This is a damaged, but consistent obsolescence chain and resolving r»��ÖÅr…��}r ��(hBXC���This is a damaged, but consistent obsolescence chain and resolving hCjƒ��ubjˆ��)ÅrÀ��}rÃ��(hBU�hCjƒ��hINhKj˘��hM}rÕ��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX)��� will
result in the object identified by rŒ��ÖÅrœ��}r–��(hBX)��� will
result in the object identified by hCjƒ��ubjˆ��)År—��}r“��(hBU�hCjƒ��hINhKj˘��hM}r”��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr‘��}r’��(hBX���.hCjƒ��ubeubeubhD)År÷��}r◊��(hBU�hChEhIhJhKhLhM}rÿ��(hO]hP]hQ]hR]rŸ��j��ahU]r⁄��hauhWKÁhXhhY]r€��(h[)År‹��}r›��(hBj"��hCj÷��hIhJhKh_hM}rfi��(hR]hQ]hO]hP]hU]haj��uhWKÁhXhhY]rfl��hdX���Case 4r‡��ÖÅr·��}r‚��(hBj"��hCj‹��ubaubhs)År„��}r‰��(hBU�hCj÷��hIhJhKhvhM}rÂ��(hR]hQ]hO]hP]hU]haX���equation-c4rÊ��uhWNhXhhY]ubj˚��)ÅrÁ��}rË��(hBU�hCj÷��hIhJh{}hKj˛��hM}rÈ��(j���Xπ���P_1\binom{S_1}{t_1} \leftrightarrows
P_2\binom{S_1}{t_2}& \leftrightarrows
P_3\binom{S_2}{t_3}\\
t_1 < t_2 & < t_3 \\
resolve(S_1) &\Rrightarrow P_2 \\
resolve(S_2) &\Rrightarrow P_3 \\j��âj��KhR]rÍ��jÊ��ahQ]hO]hP]hU]j��j√��j��j��X���c4rÎ��ÖÅrÏ��}rÌ��buhWKÈhXhhÉ}rÓ��jÊ��j„��shY]ubhò)ÅrÔ��}r��(hBXb���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCj÷��hIhJhKhßhM}rÒ��(hO]hP]hQ]hR]hU]uhWKÛhXhhY]rÚ��(hdX���A set of objects rÛ��ÖÅrÙ��}rı��(hBX���A set of objects hCjÔ��ubjˆ��)Årˆ��}r˜��(hBU�hM}r¯��(UlatexX"���O_{S_1} = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCjÔ��hY]hKj˘��ubhdX"��� have the same series
identifier, r˘��ÖÅr˙��}r˚��(hBX"��� have the same series
identifier, hCjÔ��ubjˆ��)År¸��}r˝��(hBU�hCjÔ��hINhKj˘��hM}r˛��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrˇ��}r���(hBX���.hCjÔ��ubeubhò)År��}r��(hBXW���A set of objects :math:`O_{S_2} = \lbrace P_3 \rbrace` has the series
identifier, |S2|.hCj÷��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWKˆhXhhY]r��(hdX���A set of objects r��ÖÅr��}r��(hBX���A set of objects hCj��ubjˆ��)År��}r	��(hBU�hM}r
��(UlatexX���O_{S_2} = \lbrace P_3 \rbracehR]hQ]hO]hP]hU]uhCj��hY]hKj˘��ubhdX��� has the series
identifier, r��ÖÅr��}r
��(hBX��� has the series
identifier, hCj��ubjˆ��)År��}r��(hBU�hCj��hINhKj˘��hM}r��(UlatexX���S_2r��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr��}r��(hBX���.hCj��ubeubhò)År��}r��(hBXf���Objects :math:`O = O_{S_1} \cup O_{S_2}` all participate in a full,
bi-directional obsolescence chain.hCj÷��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWK˘hXhhY]r��(hdX���Objects r��ÖÅr��}r��(hBX���Objects hCj��ubjˆ��)År��}r��(hBU�hM}r��(UlatexX���O = O_{S_1} \cup O_{S_2}hR]hQ]hO]hP]hU]uhCj��hY]hKj˘��ubhdX>��� all participate in a full,
bi-directional obsolescence chain.r��ÖÅr��}r ��(hBX>��� all participate in a full,
bi-directional obsolescence chain.hCj��ubeubhò)År!��}r"��(hBXΩ���In this case resolving |S1| will result in |P2| which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by |S1|.hCj÷��hIhJhKhßhM}r#��(hO]hP]hQ]hR]hU]uhWK¸hXhhY]r$��(hdX���In this case resolving r%��ÖÅr&��}r'��(hBX���In this case resolving hCj!��ubjˆ��)År(��}r)��(hBU�hCj!��hINhKj˘��hM}r*��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r+��ÖÅr,��}r-��(hBX��� will result in hCj!��ubjˆ��)År.��}r/��(hBU�hCj!��hINhKj˘��hM}r0��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by r1��ÖÅr2��}r3��(hBXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by hCj!��ubjˆ��)År4��}r5��(hBU�hCj!��hINhKj˘��hM}r6��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr7��}r8��(hBX���.hCj!��ubeubhò)År9��}r:��(hBX#���Resolving |S2| will result in |P3|.r;��hCj÷��hIhJhKhßhM}r<��(hO]hP]hQ]hR]hU]uhWM�hXhhY]r=��(hdX
���Resolving r>��ÖÅr?��}r@��(hBX
���Resolving hCj9��ubjˆ��)ÅrA��}rB��(hBU�hCj9��hINhKj˘��hM}rC��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in rD��ÖÅrE��}rF��(hBX��� will result in hCj9��ubjˆ��)ÅrG��}rH��(hBU�hCj9��hINhKj˘��hM}rI��(Ulatexj[��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrJ��}rK��(hBX���.hCj9��ubeubeubhD)ÅrL��}rM��(hBU�hChEhIhJhKhLhM}rN��(hO]hP]hQ]hR]rO��j0��ahU]rP��hauhWMhXhhY]rQ��(h[)ÅrR��}rS��(hBj5��hCjL��hIhJhKh_hM}rT��(hR]hQ]hO]hP]hU]haj/��uhWMhXhhY]rU��hdX���Case 5rV��ÖÅrW��}rX��(hBj5��hCjR��ubaubhs)ÅrY��}rZ��(hBU�hCjL��hIhJhKhvhM}r[��(hR]hQ]hO]hP]hU]haX���equation-c5r\��uhWNhXhhY]ubj˚��)År]��}r^��(hBU�hCjL��hIhJh{}hKj˛��hM}r_��(j���X≠���P_1\binom{S_1}{t_1} \leftarrow
P_2\binom{S_1}{t_2}& \leftarrow
P_3\binom{S_2}{t_3}\\
t_1 < t_2 & < t_3 \\
resolve(S_1) &\Rrightarrow P_2 \\
resolve(S_2) &\Rrightarrow P_3 \\j��âj��KhR]r`��j\��ahQ]hO]hP]hU]j��j√��j��j��X���c5ra��ÖÅrb��}rc��buhWMhXhhÉ}rd��j\��jY��shY]ubhò)Åre��}rf��(hBXb���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCjL��hIhJhKhßhM}rg��(hO]hP]hQ]hR]hU]uhWMhXhhY]rh��(hdX���A set of objects ri��ÖÅrj��}rk��(hBX���A set of objects hCje��ubjˆ��)Årl��}rm��(hBU�hM}rn��(UlatexX"���O_{S_1} = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCje��hY]hKj˘��ubhdX"��� have the same series
identifier, ro��ÖÅrp��}rq��(hBX"��� have the same series
identifier, hCje��ubjˆ��)Årr��}rs��(hBU�hCje��hINhKj˘��hM}rt��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅru��}rv��(hBX���.hCje��ubeubhò)Årw��}rx��(hBXW���A set of objects :math:`O_{S_2} = \lbrace P_3 \rbrace` has the series
identifier, |S2|.hCjL��hIhJhKhßhM}ry��(hO]hP]hQ]hR]hU]uhWMhXhhY]rz��(hdX���A set of objects r{��ÖÅr|��}r}��(hBX���A set of objects hCjw��ubjˆ��)År~��}r��(hBU�hM}rÄ��(UlatexX���O_{S_2} = \lbrace P_3 \rbracehR]hQ]hO]hP]hU]uhCjw��hY]hKj˘��ubhdX��� has the series
identifier, rÅ��ÖÅrÇ��}rÉ��(hBX��� has the series
identifier, hCjw��ubjˆ��)ÅrÑ��}rÖ��(hBU�hCjw��hINhKj˘��hM}rÜ��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrá��}rà��(hBX���.hCjw��ubeubhò)Årâ��}rä��(hBXl���Objects :math:`O = O_{S_1} \cup O_{S_2}` all participate in a damaged, though
consistent obsolescence chain.hCjL��hIhJhKhßhM}rã��(hO]hP]hQ]hR]hU]uhWMhXhhY]rå��(hdX���Objects rç��ÖÅré��}rè��(hBX���Objects hCjâ��ubjˆ��)Årê��}rë��(hBU�hM}rí��(UlatexX���O = O_{S_1} \cup O_{S_2}hR]hQ]hO]hP]hU]uhCjâ��hY]hKj˘��ubhdXD��� all participate in a damaged, though
consistent obsolescence chain.rì��ÖÅrî��}rï��(hBXD��� all participate in a damaged, though
consistent obsolescence chain.hCjâ��ubeubhò)Årñ��}ró��(hBXΩ���In this case resolving |S1| will result in |P2| which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by |S1|.hCjL��hIhJhKhßhM}rò��(hO]hP]hQ]hR]hU]uhWMhXhhY]rô��(hdX���In this case resolving rö��ÖÅrõ��}rú��(hBX���In this case resolving hCjñ��ubjˆ��)Årù��}rû��(hBU�hCjñ��hINhKj˘��hM}rü��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r†��ÖÅr°��}r¢��(hBX��� will result in hCjñ��ubjˆ��)År£��}r§��(hBU�hCjñ��hINhKj˘��hM}r•��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by r¶��ÖÅrß��}r®��(hBXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by hCjñ��ubjˆ��)År©��}r™��(hBU�hCjñ��hINhKj˘��hM}r´��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr¨��}r≠��(hBX���.hCjñ��ubeubhò)ÅrÆ��}rØ��(hBX#���Resolving |S2| will result in |P3|.r∞��hCjL��hIhJhKhßhM}r±��(hO]hP]hQ]hR]hU]uhWMhXhhY]r≤��(hdX
���Resolving r≥��ÖÅr¥��}rµ��(hBX
���Resolving hCjÆ��ubjˆ��)År∂��}r∑��(hBU�hCjÆ��hINhKj˘��hM}r∏��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in rπ��ÖÅr∫��}rª��(hBX��� will result in hCjÆ��ubjˆ��)Årº��}rΩ��(hBU�hCjÆ��hINhKj˘��hM}ræ��(Ulatexj[��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrø��}r¿��(hBX���.hCjÆ��ubeubeubhD)År¡��}r¬��(hBU�hChEhIhJhKhLhM}r√��(hO]hP]hQ]hR]rƒ��jC��ahU]r≈��hauhWM!hXhhY]r∆��(h[)År«��}r»��(hBjH��hCj¡��hIhJhKh_hM}r…��(hR]hQ]hO]hP]hU]hajB��uhWM!hXhhY]r ��hdX���Case 6rÀ��ÖÅrÃ��}rÕ��(hBjH��hCj«��ubaubhs)ÅrŒ��}rœ��(hBU�hCj¡��hIhJhKhvhM}r–��(hR]hQ]hO]hP]hU]haX���equation-c6r—��uhWNhXhhY]ubj˚��)År“��}r”��(hBU�hCj¡��hIhJh{}hKj˛��hM}r‘��(j���Xî���P_1\binom{S_1}{t_1} \leftrightarrows
P_2\binom{S_1}{t_2}& \leftrightarrows
P_3\binom{}{t_3}\\
t_1 < t_2 & < t_3 \\
resolve(S_1) &\Rrightarrow P_2 \\j��âj��KhR]r’��j—��ahQ]hO]hP]hU]j��j√��j��j��X���c6r÷��ÖÅr◊��}rÿ��buhWM#hXhhÉ}rŸ��j—��jŒ��shY]ubhò)År⁄��}r€��(hBXb���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCj¡��hIhJhKhßhM}r‹��(hO]hP]hQ]hR]hU]uhWM,hXhhY]r›��(hdX���A set of objects rfi��ÖÅrfl��}r‡��(hBX���A set of objects hCj⁄��ubjˆ��)År·��}r‚��(hBU�hM}r„��(UlatexX"���O_{S_1} = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCj⁄��hY]hKj˘��ubhdX"��� have the same series
identifier, r‰��ÖÅrÂ��}rÊ��(hBX"��� have the same series
identifier, hCj⁄��ubjˆ��)ÅrÁ��}rË��(hBU�hCj⁄��hINhKj˘��hM}rÈ��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrÍ��}rÎ��(hBX���.hCj⁄��ubeubhò)ÅrÏ��}rÌ��(hBXN���Objects :math:`O = O_{S_1} \cup P_3` all participate in an obsolescence chain.rÓ��hCj¡��hIhJhKhßhM}rÔ��(hO]hP]hQ]hR]hU]uhWM/hXhhY]r��(hdX���Objects rÒ��ÖÅrÚ��}rÛ��(hBX���Objects hCjÏ��ubjˆ��)ÅrÙ��}rı��(hBU�hM}rˆ��(UlatexX���O = O_{S_1} \cup P_3hR]hQ]hO]hP]hU]uhCjÏ��hY]hKj˘��ubhdX*��� all participate in an obsolescence chain.r˜��ÖÅr¯��}r˘��(hBX*��� all participate in an obsolescence chain.hCjÏ��ubeubhò)År˙��}r˚��(hBXΩ���In this case resolving |S1| will result in |P2| which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by |S1|.hCj¡��hIhJhKhßhM}r¸��(hO]hP]hQ]hR]hU]uhWM1hXhhY]r˝��(hdX���In this case resolving r˛��ÖÅrˇ��}r���(hBX���In this case resolving hCj˙��ubjˆ��)År��}r��(hBU�hCj˙��hINhKj˘��hM}r��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r��ÖÅr��}r��(hBX��� will result in hCj˙��ubjˆ��)År��}r��(hBU�hCj˙��hINhKj˘��hM}r	��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by r
��ÖÅr��}r��(hBXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by hCj˙��ubjˆ��)År
��}r��(hBU�hCj˙��hINhKj˘��hM}r��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr��}r��(hBX���.hCj˙��ubeubeubhD)År��}r��(hBU�hChEhIhJhKhLhM}r��(hO]hP]hQ]hR]r��jV��ahU]r��hauhWM7hXhhY]r��(h[)År��}r��(hBj[��hCj��hIhJhKh_hM}r��(hR]hQ]hO]hP]hU]hajU��uhWM7hXhhY]r��hdX���Case 7r��ÖÅr��}r��(hBj[��hCj��ubaubhs)År��}r ��(hBU�hCj��hIhJhKhvhM}r!��(hR]hQ]hO]hP]hU]haX���equation-c7r"��uhWNhXhhY]ubj˚��)År#��}r$��(hBU�hCj��hIhJh{}hKj˛��hM}r%��(j���Xfi���P_1\binom{S_1}{t_1} \leftrightarrows
P_2\binom{S_1}{t_2}& \leftrightarrows
P_3\binom{}{t_3} \leftrightarrows
P_4\binom{S_2}{t_4} \\
t_1 < t_2 & < t_3 < t_4\\
resolve(S_1) &\Rrightarrow P_2 \\
resolve(S_2) &\Rrightarrow P_4j��âj��KhR]r&��j"��ahQ]hO]hP]hU]j��j√��j��j��X���c7r'��ÖÅr(��}r)��buhWM9hXhhÉ}r*��j"��j��shY]ubhò)År+��}r,��(hBXb���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCj��hIhJhKhßhM}r-��(hO]hP]hQ]hR]hU]uhWMDhXhhY]r.��(hdX���A set of objects r/��ÖÅr0��}r1��(hBX���A set of objects hCj+��ubjˆ��)År2��}r3��(hBU�hM}r4��(UlatexX"���O_{S_1} = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCj+��hY]hKj˘��ubhdX"��� have the same series
identifier, r5��ÖÅr6��}r7��(hBX"��� have the same series
identifier, hCj+��ubjˆ��)År8��}r9��(hBU�hCj+��hINhKj˘��hM}r:��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr;��}r<��(hBX���.hCj+��ubeubhò)År=��}r>��(hBXW���A set of objects :math:`O_{S_2} = \lbrace P_4 \rbrace` has the series
identifier, |S2|.hCj��hIhJhKhßhM}r?��(hO]hP]hQ]hR]hU]uhWMGhXhhY]r@��(hdX���A set of objects rA��ÖÅrB��}rC��(hBX���A set of objects hCj=��ubjˆ��)ÅrD��}rE��(hBU�hM}rF��(UlatexX���O_{S_2} = \lbrace P_4 \rbracehR]hQ]hO]hP]hU]uhCj=��hY]hKj˘��ubhdX��� has the series
identifier, rG��ÖÅrH��}rI��(hBX��� has the series
identifier, hCj=��ubjˆ��)ÅrJ��}rK��(hBU�hCj=��hINhKj˘��hM}rL��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrM��}rN��(hBX���.hCj=��ubeubhò)ÅrO��}rP��(hBX[���Objects :math:`O = O_{S_1} \cup P_3 \cup O_{S_2}` all participate in an
obsolescence chain.hCj��hIhJhKhßhM}rQ��(hO]hP]hQ]hR]hU]uhWMJhXhhY]rR��(hdX���Objects rS��ÖÅrT��}rU��(hBX���Objects hCjO��ubjˆ��)ÅrV��}rW��(hBU�hM}rX��(UlatexX!���O = O_{S_1} \cup P_3 \cup O_{S_2}hR]hQ]hO]hP]hU]uhCjO��hY]hKj˘��ubhdX*��� all participate in an
obsolescence chain.rY��ÖÅrZ��}r[��(hBX*��� all participate in an
obsolescence chain.hCjO��ubeubhò)År\��}r]��(hBXΩ���In this case resolving |S1| will result in |P2| which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by |S1|.hCj��hIhJhKhßhM}r^��(hO]hP]hQ]hR]hU]uhWMMhXhhY]r_��(hdX���In this case resolving r`��ÖÅra��}rb��(hBX���In this case resolving hCj\��ubjˆ��)Årc��}rd��(hBU�hCj\��hINhKj˘��hM}re��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in rf��ÖÅrg��}rh��(hBX��� will result in hCj\��ubjˆ��)Åri��}rj��(hBU�hCj\��hINhKj˘��hM}rk��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by rl��ÖÅrm��}rn��(hBXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by hCj\��ubjˆ��)Åro��}rp��(hBU�hCj\��hINhKj˘��hM}rq��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrr��}rs��(hBX���.hCj\��ubeubhò)Årt��}ru��(hBX"���Resolving |S2| will result in |P4|rv��hCj��hIhJhKhßhM}rw��(hO]hP]hQ]hR]hU]uhWMQhXhhY]rx��(hdX
���Resolving ry��ÖÅrz��}r{��(hBX
���Resolving hCjt��ubjˆ��)År|��}r}��(hBU�hCjt��hINhKj˘��hM}r~��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r��ÖÅrÄ��}rÅ��(hBX��� will result in hCjt��ubjˆ��)ÅrÇ��}rÉ��(hBU�hCjt��hINhKj˘��hM}rÑ��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubeubeubhD)ÅrÖ��}rÜ��(hBU�hChEhIhJhKhLhM}rá��(hO]hP]hQ]hR]rà��ji��ahU]râ��hauhWMUhXhhY]rä��(h[)Årã��}rå��(hBjn��hCjÖ��hIhJhKh_hM}rç��(hR]hQ]hO]hP]hU]hajh��uhWMUhXhhY]ré��hdX���Case 8rè��ÖÅrê��}rë��(hBjn��hCjã��ubaubhs)Årí��}rì��(hBU�hCjÖ��hIhJhKhvhM}rî��(hR]hQ]hO]hP]hU]haX���equation-c8rï��uhWNhXhhY]ubj˚��)Årñ��}ró��(hBU�hCjÖ��hIhJh{}hKj˛��hM}rò��(j���X†���P_1\binom{S_1}{t_1} \leftrightarrows
P_2\binom{S_1}{t_2}& \rightarrow
?? \leftarrow
P_4\binom{S_1}{t_4} \\
t_1 < t_2 & < t_4\\
resolve(S_1) &\Rrightarrow P_4 \\j��âj��KhR]rô��jï��ahQ]hO]hP]hU]j��j√��j��j��X���c8rö��ÖÅrõ��}rú��buhWMWhXhhÉ}rù��jï��jí��shY]ubhò)Årû��}rü��(hBXg���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2, P_4 \rbrace` have the same series
identifier, |S1|.hCjÖ��hIhJhKhßhM}r†��(hO]hP]hQ]hR]hU]uhWMahXhhY]r°��(hdX���A set of objects r¢��ÖÅr£��}r§��(hBX���A set of objects hCjû��ubjˆ��)År•��}r¶��(hBU�hM}rß��(UlatexX'���O_{S_1} = \lbrace P_1, P_2, P_4 \rbracehR]hQ]hO]hP]hU]uhCjû��hY]hKj˘��ubhdX"��� have the same series
identifier, r®��ÖÅr©��}r™��(hBX"��� have the same series
identifier, hCjû��ubjˆ��)År´��}r¨��(hBU�hCjû��hINhKj˘��hM}r≠��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrÆ��}rØ��(hBX���.hCjû��ubeubhò)År∞��}r±��(hBXC��Objects :math:`O_{S_1}` all participate in an obsolescence chain, however the
chain is broken with no way to traverse between |P2| and |P4| because the
object that |P2| indicates it is ``obsoletedBy``, and the object that |P4|
indicates it ``obsoletes`` is not recorded by the DataONE Coordinating Nodes
(does not resolve).hCjÖ��hIhJhKhßhM}r≤��(hO]hP]hQ]hR]hU]uhWMdhXhhY]r≥��(hdX���Objects r¥��ÖÅrµ��}r∂��(hBX���Objects hCj∞��ubjˆ��)År∑��}r∏��(hBU�hM}rπ��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCj∞��hY]hKj˘��ubhdXg��� all participate in an obsolescence chain, however the
chain is broken with no way to traverse between r∫��ÖÅrª��}rº��(hBXg��� all participate in an obsolescence chain, however the
chain is broken with no way to traverse between hCj∞��ubjˆ��)ÅrΩ��}ræ��(hBU�hCj∞��hINhKj˘��hM}rø��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� and r¿��ÖÅr¡��}r¬��(hBX��� and hCj∞��ubjˆ��)År√��}rƒ��(hBU�hCj∞��hINhKj˘��hM}r≈��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� because the
object that r∆��ÖÅr«��}r»��(hBX��� because the
object that hCj∞��ubjˆ��)År…��}r ��(hBU�hCj∞��hINhKj˘��hM}rÀ��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� indicates it is rÃ��ÖÅrÕ��}rŒ��(hBX��� indicates it is hCj∞��ubj‚��)Årœ��}r–��(hBX���``obsoletedBy``hM}r—��(hO]hP]hQ]hR]hU]uhCj∞��hY]r“��hdX���obsoletedByr”��ÖÅr‘��}r’��(hBU�hCjœ��ubahKjÏ��ubhdX���, and the object that r÷��ÖÅr◊��}rÿ��(hBX���, and the object that hCj∞��ubjˆ��)ÅrŸ��}r⁄��(hBU�hCj∞��hINhKj˘��hM}r€��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���
indicates it r‹��ÖÅr›��}rfi��(hBX���
indicates it hCj∞��ubj‚��)Årfl��}r‡��(hBX
���``obsoletes``hM}r·��(hO]hP]hQ]hR]hU]uhCj∞��hY]r‚��hdX	���obsoletesr„��ÖÅr‰��}rÂ��(hBU�hCjfl��ubahKjÏ��ubhdXF��� is not recorded by the DataONE Coordinating Nodes
(does not resolve).rÊ��ÖÅrÁ��}rË��(hBXF��� is not recorded by the DataONE Coordinating Nodes
(does not resolve).hCj∞��ubeubhò)ÅrÈ��}rÍ��(hBX{���In this case resolving |S1| will result in |P4| since that is the most recent
object in the set of objects :math:`O_{S_1}`.hCjÖ��hIhJhKhßhM}rÎ��(hO]hP]hQ]hR]hU]uhWMjhXhhY]rÏ��(hdX���In this case resolving rÌ��ÖÅrÓ��}rÔ��(hBX���In this case resolving hCjÈ��ubjˆ��)År��}rÒ��(hBU�hCjÈ��hINhKj˘��hM}rÚ��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in rÛ��ÖÅrÙ��}rı��(hBX��� will result in hCjÈ��ubjˆ��)Årˆ��}r˜��(hBU�hCjÈ��hINhKj˘��hM}r¯��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX<��� since that is the most recent
object in the set of objects r˘��ÖÅr˙��}r˚��(hBX<��� since that is the most recent
object in the set of objects hCjÈ��ubjˆ��)År¸��}r˝��(hBU�hM}r˛��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCjÈ��hY]hKj˘��ubhdX���.ÖÅrˇ��}r���(hBX���.hCjÈ��ubeubeubhD)År��}r��(hBU�hChEhIhJhKhLhM}r��(hO]hP]hQ]hR]r��j|��ahU]r��hauhWMohXhhY]r��(h[)År��}r��(hBjÅ��hCj��hIhJhKh_hM}r	��(hR]hQ]hO]hP]hU]haj{��uhWMohXhhY]r
��hdX���Case 9r��ÖÅr��}r
��(hBjÅ��hCj��ubaubhs)År��}r��(hBU�hCj��hIhJhKhvhM}r��(hR]hQ]hO]hP]hU]haX���equation-c9r��uhWNhXhhY]ubj˚��)År��}r��(hBU�hCj��hIhJh{}hKj˛��hM}r��(j���X†���P_1\binom{S_1}{t_1} \leftrightarrows
P_2\binom{S_1}{t_2}& \;\square\;
?? \leftarrow
P_4\binom{S_1}{t_4} \\
t_1 < t_2 & < t_4\\
resolve(S_1) &\Rrightarrow P_4 \\j��âj��K	hR]r��j��ahQ]hO]hP]hU]j��j√��j��j��X���c9r��ÖÅr��}r��buhWMqhXhhÉ}r��j��j��shY]ubhò)År��}r��(hBXg���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2, P_4 \rbrace` have the same series
identifier, |S1|.hCj��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWM{hXhhY]r��(hdX���A set of objects r��ÖÅr��}r ��(hBX���A set of objects hCj��ubjˆ��)År!��}r"��(hBU�hM}r#��(UlatexX'���O_{S_1} = \lbrace P_1, P_2, P_4 \rbracehR]hQ]hO]hP]hU]uhCj��hY]hKj˘��ubhdX"��� have the same series
identifier, r$��ÖÅr%��}r&��(hBX"��� have the same series
identifier, hCj��ubjˆ��)År'��}r(��(hBU�hCj��hINhKj˘��hM}r)��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr*��}r+��(hBX���.hCj��ubeubhò)År,��}r-��(hBX
��Objects :math:`O_{S_1}` all participate in an obsolescence chain, however the
chain is broken with no way to traverse between |P2| and |P4| because the the
object that |P4| indicates it ``obsoletes`` is not recorded by the DataONE
Coordinating Nodes (does not resolve).hCj��hIhJhKhßhM}r.��(hO]hP]hQ]hR]hU]uhWM~hXhhY]r/��(hdX���Objects r0��ÖÅr1��}r2��(hBX���Objects hCj,��ubjˆ��)År3��}r4��(hBU�hM}r5��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCj,��hY]hKj˘��ubhdXg��� all participate in an obsolescence chain, however the
chain is broken with no way to traverse between r6��ÖÅr7��}r8��(hBXg��� all participate in an obsolescence chain, however the
chain is broken with no way to traverse between hCj,��ubjˆ��)År9��}r:��(hBU�hCj,��hINhKj˘��hM}r;��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� and r<��ÖÅr=��}r>��(hBX��� and hCj,��ubjˆ��)År?��}r@��(hBU�hCj,��hINhKj˘��hM}rA��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� because the the
object that rB��ÖÅrC��}rD��(hBX��� because the the
object that hCj,��ubjˆ��)ÅrE��}rF��(hBU�hCj,��hINhKj˘��hM}rG��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� indicates it rH��ÖÅrI��}rJ��(hBX��� indicates it hCj,��ubj‚��)ÅrK��}rL��(hBX
���``obsoletes``hM}rM��(hO]hP]hQ]hR]hU]uhCj,��hY]rN��hdX	���obsoletesrO��ÖÅrP��}rQ��(hBU�hCjK��ubahKjÏ��ubhdXF��� is not recorded by the DataONE
Coordinating Nodes (does not resolve).rR��ÖÅrS��}rT��(hBXF��� is not recorded by the DataONE
Coordinating Nodes (does not resolve).hCj,��ubeubhò)ÅrU��}rV��(hBX{���In this case resolving |S1| will result in |P4| since that is the most recent
object in the set of objects :math:`O_{S_1}`.hCj��hIhJhKhßhM}rW��(hO]hP]hQ]hR]hU]uhWMÉhXhhY]rX��(hdX���In this case resolving rY��ÖÅrZ��}r[��(hBX���In this case resolving hCjU��ubjˆ��)År\��}r]��(hBU�hCjU��hINhKj˘��hM}r^��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r_��ÖÅr`��}ra��(hBX��� will result in hCjU��ubjˆ��)Årb��}rc��(hBU�hCjU��hINhKj˘��hM}rd��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX<��� since that is the most recent
object in the set of objects re��ÖÅrf��}rg��(hBX<��� since that is the most recent
object in the set of objects hCjU��ubjˆ��)Årh��}ri��(hBU�hM}rj��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCjU��hY]hKj˘��ubhdX���.ÖÅrk��}rl��(hBX���.hCjU��ubeubeubhD)Årm��}rn��(hBU�hChEhIhJhKhLhM}ro��(hO]hP]hQ]hR]rp��jè��ahU]rq��h*auhWMàhXhhY]rr��(h[)Års��}rt��(hBjî��hCjm��hIhJhKh_hM}ru��(hR]hQ]hO]hP]hU]hajé��uhWMàhXhhY]rv��hdX���Case 10rw��ÖÅrx��}ry��(hBjî��hCjs��ubaubhs)Årz��}r{��(hBU�hCjm��hIhJhKhvhM}r|��(hR]hQ]hO]hP]hU]haX���equation-c10r}��uhWNhXhhY]ubj˚��)År~��}r��(hBU�hCjm��hIhJh{}hKj˛��hM}rÄ��(j���XØ���P_1\binom{S_1}{t_1} \leftrightarrows
P_2\binom{S_1}{t_2}& \rightarrow
P_{del}\binom{}{} \leftarrow
P_4\binom{S_1}{t_4} \\
t_1 < t_2 & < t_4\\
resolve(S_1) &\Rrightarrow P_4 \\j��âj��K
hR]rÅ��j}��ahQ]hO]hP]hU]j��j√��j��j��X���c10rÇ��ÖÅrÉ��}rÑ��buhWMähXhhÉ}rÖ��j}��jz��shY]ubhò)ÅrÜ��}rá��(hBXg���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2, P_4 \rbrace` have the same series
identifier, |S1|.hCjm��hIhJhKhßhM}rà��(hO]hP]hQ]hR]hU]uhWMîhXhhY]râ��(hdX���A set of objects rä��ÖÅrã��}rå��(hBX���A set of objects hCjÜ��ubjˆ��)Årç��}ré��(hBU�hM}rè��(UlatexX'���O_{S_1} = \lbrace P_1, P_2, P_4 \rbracehR]hQ]hO]hP]hU]uhCjÜ��hY]hKj˘��ubhdX"��� have the same series
identifier, rê��ÖÅrë��}rí��(hBX"��� have the same series
identifier, hCjÜ��ubjˆ��)Årì��}rî��(hBU�hCjÜ��hINhKj˘��hM}rï��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrñ��}ró��(hBX���.hCjÜ��ubeubhò)Årò��}rô��(hBXö���The object :math:`P_{del}` was deleted from the system, so the identifier is
known, but the object and associated system metadata are no longer available.hCjm��hIhJhKhßhM}rö��(hO]hP]hQ]hR]hU]uhWMóhXhhY]rõ��(hdX���The object rú��ÖÅrù��}rû��(hBX���The object hCjò��ubjˆ��)Årü��}r†��(hBU�hM}r°��(UlatexX���P_{del}hR]hQ]hO]hP]hU]uhCjò��hY]hKj˘��ubhdXÄ��� was deleted from the system, so the identifier is
known, but the object and associated system metadata are no longer available.r¢��ÖÅr£��}r§��(hBXÄ��� was deleted from the system, so the identifier is
known, but the object and associated system metadata are no longer available.hCjò��ubeubhò)År•��}r¶��(hBXC��Objects :math:`O_{S_1}` all participate in an obsolescence chain, however the
chain is broken with no way to traverse between |P2| and |P4| because the
object that |P2| indicates it is ``obsoletedBy``, and the object that |P4|
indicates it ``obsoletes`` is not recorded by the DataONE Coordinating Nodes
(does not resolve).hCjm��hIhJhKhßhM}rß��(hO]hP]hQ]hR]hU]uhWMöhXhhY]r®��(hdX���Objects r©��ÖÅr™��}r´��(hBX���Objects hCj•��ubjˆ��)År¨��}r≠��(hBU�hM}rÆ��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCj•��hY]hKj˘��ubhdXg��� all participate in an obsolescence chain, however the
chain is broken with no way to traverse between rØ��ÖÅr∞��}r±��(hBXg��� all participate in an obsolescence chain, however the
chain is broken with no way to traverse between hCj•��ubjˆ��)År≤��}r≥��(hBU�hCj•��hINhKj˘��hM}r¥��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� and rµ��ÖÅr∂��}r∑��(hBX��� and hCj•��ubjˆ��)År∏��}rπ��(hBU�hCj•��hINhKj˘��hM}r∫��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� because the
object that rª��ÖÅrº��}rΩ��(hBX��� because the
object that hCj•��ubjˆ��)Åræ��}rø��(hBU�hCj•��hINhKj˘��hM}r¿��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� indicates it is r¡��ÖÅr¬��}r√��(hBX��� indicates it is hCj•��ubj‚��)Årƒ��}r≈��(hBX���``obsoletedBy``hM}r∆��(hO]hP]hQ]hR]hU]uhCj•��hY]r«��hdX���obsoletedByr»��ÖÅr…��}r ��(hBU�hCjƒ��ubahKjÏ��ubhdX���, and the object that rÀ��ÖÅrÃ��}rÕ��(hBX���, and the object that hCj•��ubjˆ��)ÅrŒ��}rœ��(hBU�hCj•��hINhKj˘��hM}r–��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���
indicates it r—��ÖÅr“��}r”��(hBX���
indicates it hCj•��ubj‚��)År‘��}r’��(hBX
���``obsoletes``hM}r÷��(hO]hP]hQ]hR]hU]uhCj•��hY]r◊��hdX	���obsoletesrÿ��ÖÅrŸ��}r⁄��(hBU�hCj‘��ubahKjÏ��ubhdXF��� is not recorded by the DataONE Coordinating Nodes
(does not resolve).r€��ÖÅr‹��}r›��(hBXF��� is not recorded by the DataONE Coordinating Nodes
(does not resolve).hCj•��ubeubhò)Årfi��}rfl��(hBX{���In this case resolving |S1| will result in |P4| since that is the most recent
object in the set of objects :math:`O_{S_1}`.hCjm��hIhJhKhßhM}r‡��(hO]hP]hQ]hR]hU]uhWM†hXhhY]r·��(hdX���In this case resolving r‚��ÖÅr„��}r‰��(hBX���In this case resolving hCjfi��ubjˆ��)ÅrÂ��}rÊ��(hBU�hCjfi��hINhKj˘��hM}rÁ��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in rË��ÖÅrÈ��}rÍ��(hBX��� will result in hCjfi��ubjˆ��)ÅrÎ��}rÏ��(hBU�hCjfi��hINhKj˘��hM}rÌ��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX<��� since that is the most recent
object in the set of objects rÓ��ÖÅrÔ��}r��(hBX<��� since that is the most recent
object in the set of objects hCjfi��ubjˆ��)ÅrÒ��}rÚ��(hBU�hM}rÛ��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCjfi��hY]hKj˘��ubhdX���.ÖÅrÙ��}rı��(hBX���.hCjfi��ubeubeubhD)Årˆ��}r˜��(hBU�hChEhIhJhKhLhM}r¯��(hO]hP]hQ]hR]r˘��j¢��ahU]r˙��h+auhWM•hXhhY]r˚��(h[)År¸��}r˝��(hBjß��hCjˆ��hIhJhKh_hM}r˛��(hR]hQ]hO]hP]hU]haj°��uhWM•hXhhY]rˇ��hdX���Case 11r���ÖÅr��}r��(hBjß��hCj¸��ubaubhs)År��}r��(hBU�hCjˆ��hIhJhKhvhM}r��(hR]hQ]hO]hP]hU]haX���equation-c11r��uhWNhXhhY]ubj˚��)År��}r��(hBU�hCjˆ��hIhJh{}hKj˛��hM}r	��(j���XÆ���P_1\binom{S_1}{t_1} \leftrightarrows
P_2\binom{S_1}{t_2}& \leftrightarrows
archived\biggl[P_3\binom{S_1}{t_3}\biggr] \\
t_1 < t_2 & < t_3 \\
resolve(S_1) &\Rrightarrow P_3 \\j��âj��KhR]r
��j��ahQ]hO]hP]hU]j��j√��j��j��X���c11r��ÖÅr��}r
��buhWMßhXhhÉ}r��j��j��shY]ubhò)År��}r��(hBXg���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2, P_3 \rbrace` have the same series
identifier, |S1|.hCjˆ��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWM∞hXhhY]r��(hdX���A set of objects r��ÖÅr��}r��(hBX���A set of objects hCj��ubjˆ��)År��}r��(hBU�hM}r��(UlatexX'���O_{S_1} = \lbrace P_1, P_2, P_3 \rbracehR]hQ]hO]hP]hU]uhCj��hY]hKj˘��ubhdX"��� have the same series
identifier, r��ÖÅr��}r��(hBX"��� have the same series
identifier, hCj��ubjˆ��)År��}r��(hBU�hCj��hINhKj˘��hM}r��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr��}r ��(hBX���.hCj��ubeubhò)År!��}r"��(hBXA���Objects :math:`O_{S_1}` all participate in an obsolescence chain.r#��hCjˆ��hIhJhKhßhM}r$��(hO]hP]hQ]hR]hU]uhWM≥hXhhY]r%��(hdX���Objects r&��ÖÅr'��}r(��(hBX���Objects hCj!��ubjˆ��)År)��}r*��(hBU�hM}r+��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCj!��hY]hKj˘��ubhdX*��� all participate in an obsolescence chain.r,��ÖÅr-��}r.��(hBX*��� all participate in an obsolescence chain.hCj!��ubeubhò)År/��}r0��(hBX:���Object |P3| has been archived, and so is not discoverable.r1��hCjˆ��hIhJhKhßhM}r2��(hO]hP]hQ]hR]hU]uhWMµhXhhY]r3��(hdX���Object r4��ÖÅr5��}r6��(hBX���Object hCj/��ubjˆ��)År7��}r8��(hBU�hCj/��hINhKj˘��hM}r9��(Ulatexj[��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX/��� has been archived, and so is not discoverable.r:��ÖÅr;��}r<��(hBX/��� has been archived, and so is not discoverable.hCj/��ubeubhò)År=��}r>��(hBXÖ���In this case resolving |S1| will result in |P3| which is the most recent
object in the obsolescence chain even though it is archived.hCjˆ��hIhJhKhßhM}r?��(hO]hP]hQ]hR]hU]uhWM∑hXhhY]r@��(hdX���In this case resolving rA��ÖÅrB��}rC��(hBX���In this case resolving hCj=��ubjˆ��)ÅrD��}rE��(hBU�hCj=��hINhKj˘��hM}rF��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in rG��ÖÅrH��}rI��(hBX��� will result in hCj=��ubjˆ��)ÅrJ��}rK��(hBU�hCj=��hINhKj˘��hM}rL��(Ulatexj[��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXV��� which is the most recent
object in the obsolescence chain even though it is archived.rM��ÖÅrN��}rO��(hBXV��� which is the most recent
object in the obsolescence chain even though it is archived.hCj=��ubeubeubhD)ÅrP��}rQ��(hBU�hChEhIhJhKhLhM}rR��(hO]hP]hQ]hR]rS��jµ��ahU]rT��h,auhWMºhXhhY]rU��(h[)ÅrV��}rW��(hBj∫��hCjP��hIhJhKh_hM}rX��(hR]hQ]hO]hP]hU]haj¥��uhWMºhXhhY]rY��hdX���Case 12rZ��ÖÅr[��}r\��(hBj∫��hCjV��ubaubhs)År]��}r^��(hBU�hCjP��hIhJhKhvhM}r_��(hR]hQ]hO]hP]hU]haX���equation-c12r`��uhWNhXhhY]ubj˚��)Åra��}rb��(hBU�hCjP��hIhJh{}hKj˛��hM}rc��(j���X}���P_1\binom{S_1}{t_1} & \leftrightarrows
P_2\binom{S_1}{t_2} \rightarrow
?? \\
t_1 & < t_2 \\
resolve(S_1) &\Rrightarrow P_2 \\j��âj��KhR]rd��j`��ahQ]hO]hP]hU]j��j√��j��j��X���c12re��ÖÅrf��}rg��buhWMæhXhhÉ}rh��j`��j]��shY]ubhò)Åri��}rj��(hBXb���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCjP��hIhJhKhßhM}rk��(hO]hP]hQ]hR]hU]uhWM«hXhhY]rl��(hdX���A set of objects rm��ÖÅrn��}ro��(hBX���A set of objects hCji��ubjˆ��)Årp��}rq��(hBU�hM}rr��(UlatexX"���O_{S_1} = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCji��hY]hKj˘��ubhdX"��� have the same series
identifier, rs��ÖÅrt��}ru��(hBX"��� have the same series
identifier, hCji��ubjˆ��)Årv��}rw��(hBU�hCji��hINhKj˘��hM}rx��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅry��}rz��(hBX���.hCji��ubeubhò)År{��}r|��(hBXö���Objects :math:`O_{S_1}` participate in an obsolescence chain which is damaged
by |P2| indicating it is ``obsoletedBy`` some object that is not resolvable.hCjP��hIhJhKhßhM}r}��(hO]hP]hQ]hR]hU]uhWM hXhhY]r~��(hdX���Objects r��ÖÅrÄ��}rÅ��(hBX���Objects hCj{��ubjˆ��)ÅrÇ��}rÉ��(hBU�hM}rÑ��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCj{��hY]hKj˘��ubhdX:��� participate in an obsolescence chain which is damaged
by rÖ��ÖÅrÜ��}rá��(hBX:��� participate in an obsolescence chain which is damaged
by hCj{��ubjˆ��)Årà��}râ��(hBU�hCj{��hINhKj˘��hM}rä��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� indicating it is rã��ÖÅrå��}rç��(hBX��� indicating it is hCj{��ubj‚��)Åré��}rè��(hBX���``obsoletedBy``hM}rê��(hO]hP]hQ]hR]hU]uhCj{��hY]rë��hdX���obsoletedByrí��ÖÅrì��}rî��(hBU�hCjé��ubahKjÏ��ubhdX$��� some object that is not resolvable.rï��ÖÅrñ��}ró��(hBX$��� some object that is not resolvable.hCj{��ubeubhò)Årò��}rô��(hBXu���In this case resolving |S1| will result in |P2| which is the most recent
resolvable object in the obsolescence chain.hCjP��hIhJhKhßhM}rö��(hO]hP]hQ]hR]hU]uhWMÕhXhhY]rõ��(hdX���In this case resolving rú��ÖÅrù��}rû��(hBX���In this case resolving hCjò��ubjˆ��)Årü��}r†��(hBU�hCjò��hINhKj˘��hM}r°��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r¢��ÖÅr£��}r§��(hBX��� will result in hCjò��ubjˆ��)År•��}r¶��(hBU�hCjò��hINhKj˘��hM}rß��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXF��� which is the most recent
resolvable object in the obsolescence chain.r®��ÖÅr©��}r™��(hBXF��� which is the most recent
resolvable object in the obsolescence chain.hCjò��ubeubeubhD)År´��}r¨��(hBU�hChEhIhJhKhLhM}r≠��(hO]hP]hQ]hR]rÆ��j»��ahU]rØ��h-auhWM“hXhhY]r∞��(h[)År±��}r≤��(hBjÕ��hCj´��hIhJhKh_hM}r≥��(hR]hQ]hO]hP]hU]haj«��uhWM“hXhhY]r¥��hdX���Case 13rµ��ÖÅr∂��}r∑��(hBjÕ��hCj±��ubaubhs)År∏��}rπ��(hBU�hCj´��hIhJhKhvhM}r∫��(hR]hQ]hO]hP]hU]haX���equation-c13rª��uhWNhXhhY]ubj˚��)Årº��}rΩ��(hBU�hCj´��hIhJh{}hKj˛��hM}ræ��(j���Xw���P_1\binom{S_1}{t_1} & \leftarrow
P_2\binom{S_1}{t_2} \rightarrow
?? \\
t_1 & < t_2 \\
resolve(S_1) &\Rrightarrow P_2 \\j��âj��K
hR]rø��jª��ahQ]hO]hP]hU]j��j√��j��j��X���c13r¿��ÖÅr¡��}r¬��buhWM‘hXhhÉ}r√��jª��j∏��shY]ubhò)Årƒ��}r≈��(hBXb���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCj´��hIhJhKhßhM}r∆��(hO]hP]hQ]hR]hU]uhWM›hXhhY]r«��(hdX���A set of objects r»��ÖÅr…��}r ��(hBX���A set of objects hCjƒ��ubjˆ��)ÅrÀ��}rÃ��(hBU�hM}rÕ��(UlatexX"���O_{S_1} = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCjƒ��hY]hKj˘��ubhdX"��� have the same series
identifier, rŒ��ÖÅrœ��}r–��(hBX"��� have the same series
identifier, hCjƒ��ubjˆ��)År—��}r“��(hBU�hCjƒ��hINhKj˘��hM}r”��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr‘��}r’��(hBX���.hCjƒ��ubeubhò)År÷��}r◊��(hBX«���Objects :math:`O_{S_1}` participate in a damaged obsolescence chain since |P2|
indicates it is ``obsoletedBy`` some object that is not resolvable, and |P1|
does not assert it is ``obsoletedBy`` |P2|.hCj´��hIhJhKhßhM}rÿ��(hO]hP]hQ]hR]hU]uhWM‡hXhhY]rŸ��(hdX���Objects r⁄��ÖÅr€��}r‹��(hBX���Objects hCj÷��ubjˆ��)År›��}rfi��(hBU�hM}rfl��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCj÷��hY]hKj˘��ubhdX3��� participate in a damaged obsolescence chain since r‡��ÖÅr·��}r‚��(hBX3��� participate in a damaged obsolescence chain since hCj÷��ubjˆ��)År„��}r‰��(hBU�hCj÷��hINhKj˘��hM}rÂ��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���
indicates it is rÊ��ÖÅrÁ��}rË��(hBX���
indicates it is hCj÷��ubj‚��)ÅrÈ��}rÍ��(hBX���``obsoletedBy``hM}rÎ��(hO]hP]hQ]hR]hU]uhCj÷��hY]rÏ��hdX���obsoletedByrÌ��ÖÅrÓ��}rÔ��(hBU�hCjÈ��ubahKjÏ��ubhdX)��� some object that is not resolvable, and r��ÖÅrÒ��}rÚ��(hBX)��� some object that is not resolvable, and hCj÷��ubjˆ��)ÅrÛ��}rÙ��(hBU�hCj÷��hINhKj˘��hM}rı��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���
does not assert it is rˆ��ÖÅr˜��}r¯��(hBX���
does not assert it is hCj÷��ubj‚��)År˘��}r˙��(hBX���``obsoletedBy``hM}r˚��(hO]hP]hQ]hR]hU]uhCj÷��hY]r¸��hdX���obsoletedByr˝��ÖÅr˛��}rˇ��(hBU�hCj˘��ubahKjÏ��ubhdX��� ÖÅr���}r��(hBX��� hCj÷��ubjˆ��)År��}r��(hBU�hCj÷��hINhKj˘��hM}r��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr��}r��(hBX���.hCj÷��ubeubhò)År��}r��(hBXu���In this case resolving |S1| will result in |P2| which is the most recent
resolvable object in the obsolescence chain.hCj´��hIhJhKhßhM}r	��(hO]hP]hQ]hR]hU]uhWM‰hXhhY]r
��(hdX���In this case resolving r��ÖÅr��}r
��(hBX���In this case resolving hCj��ubjˆ��)År��}r��(hBU�hCj��hINhKj˘��hM}r��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r��ÖÅr��}r��(hBX��� will result in hCj��ubjˆ��)År��}r��(hBU�hCj��hINhKj˘��hM}r��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXF��� which is the most recent
resolvable object in the obsolescence chain.r��ÖÅr��}r��(hBXF��� which is the most recent
resolvable object in the obsolescence chain.hCj��ubeubeubhD)År��}r��(hBU�hChEhIhJhKhLhM}r��(hO]hP]hQ]hR]r��j€��ahU]r��h.auhWMÈhXhhY]r��(h[)År ��}r!��(hBj‡��hCj��hIhJhKh_hM}r"��(hR]hQ]hO]hP]hU]haj⁄��uhWMÈhXhhY]r#��hdX���Case 14r$��ÖÅr%��}r&��(hBj‡��hCj ��ubaubhs)År'��}r(��(hBU�hCj��hIhJhKhvhM}r)��(hR]hQ]hO]hP]hU]haX���equation-c14r*��uhWNhXhhY]ubj˚��)År+��}r,��(hBU�hCj��hIhJh{}hKj˛��hM}r-��(j���X´���P_1\binom{S_1}{t_1} \leftarrow
P_2\binom{S_1}{t_2}& \rightarrow
P_3\binom{S_2}{t_3}\\
t_1 < t_2 & < t_3 \\
resolve(S_1) &\Rrightarrow P_2 \\
resolve(S_2) &\Rrightarrow P_3j��âj��KhR]r.��j*��ahQ]hO]hP]hU]j��j√��j��j��X���c14r/��ÖÅr0��}r1��buhWMÎhXhhÉ}r2��j*��j'��shY]ubhò)År3��}r4��(hBXb���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCj��hIhJhKhßhM}r5��(hO]hP]hQ]hR]hU]uhWMıhXhhY]r6��(hdX���A set of objects r7��ÖÅr8��}r9��(hBX���A set of objects hCj3��ubjˆ��)År:��}r;��(hBU�hM}r<��(UlatexX"���O_{S_1} = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCj3��hY]hKj˘��ubhdX"��� have the same series
identifier, r=��ÖÅr>��}r?��(hBX"��� have the same series
identifier, hCj3��ubjˆ��)År@��}rA��(hBU�hCj3��hINhKj˘��hM}rB��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrC��}rD��(hBX���.hCj3��ubeubhò)ÅrE��}rF��(hBXW���A set of objects :math:`O_{S_2} = \lbrace P_3 \rbrace` has the series
identifier, |S2|.hCj��hIhJhKhßhM}rG��(hO]hP]hQ]hR]hU]uhWM¯hXhhY]rH��(hdX���A set of objects rI��ÖÅrJ��}rK��(hBX���A set of objects hCjE��ubjˆ��)ÅrL��}rM��(hBU�hM}rN��(UlatexX���O_{S_2} = \lbrace P_3 \rbracehR]hQ]hO]hP]hU]uhCjE��hY]hKj˘��ubhdX��� has the series
identifier, rO��ÖÅrP��}rQ��(hBX��� has the series
identifier, hCjE��ubjˆ��)ÅrR��}rS��(hBU�hCjE��hINhKj˘��hM}rT��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrU��}rV��(hBX���.hCjE��ubeubhò)ÅrW��}rX��(hBXª���Objects :math:`O = O_{S_1} \cup O_{S_2}` all participate in a damaged
obsolescence chain, with |P1| not indicating it is obsoleted by |P2|, and |P3|
not indicating that it obsoletes |P2|.hCj��hIhJhKhßhM}rY��(hO]hP]hQ]hR]hU]uhWM˚hXhhY]rZ��(hdX���Objects r[��ÖÅr\��}r]��(hBX���Objects hCjW��ubjˆ��)År^��}r_��(hBU�hM}r`��(UlatexX���O = O_{S_1} \cup O_{S_2}hR]hQ]hO]hP]hU]uhCjW��hY]hKj˘��ubhdX7��� all participate in a damaged
obsolescence chain, with ra��ÖÅrb��}rc��(hBX7��� all participate in a damaged
obsolescence chain, with hCjW��ubjˆ��)Ård��}re��(hBU�hCjW��hINhKj˘��hM}rf��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX#��� not indicating it is obsoleted by rg��ÖÅrh��}ri��(hBX#��� not indicating it is obsoleted by hCjW��ubjˆ��)Årj��}rk��(hBU�hCjW��hINhKj˘��hM}rl��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���, and rm��ÖÅrn��}ro��(hBX���, and hCjW��ubjˆ��)Årp��}rq��(hBU�hCjW��hINhKj˘��hM}rr��(Ulatexj[��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX"���
not indicating that it obsoletes rs��ÖÅrt��}ru��(hBX"���
not indicating that it obsoletes hCjW��ubjˆ��)Årv��}rw��(hBU�hCjW��hINhKj˘��hM}rx��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅry��}rz��(hBX���.hCjW��ubeubhò)År{��}r|��(hBXΩ���In this case resolving |S1| will result in |P2| which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by |S1|.hCj��hIhJhKhßhM}r}��(hO]hP]hQ]hR]hU]uhWMˇhXhhY]r~��(hdX���In this case resolving r��ÖÅrÄ��}rÅ��(hBX���In this case resolving hCj{��ubjˆ��)ÅrÇ��}rÉ��(hBU�hCj{��hINhKj˘��hM}rÑ��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in rÖ��ÖÅrÜ��}rá��(hBX��� will result in hCj{��ubjˆ��)Årà��}râ��(hBU�hCj{��hINhKj˘��hM}rä��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by rã��ÖÅrå��}rç��(hBXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by hCj{��ubjˆ��)Åré��}rè��(hBU�hCj{��hINhKj˘��hM}rê��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrë��}rí��(hBX���.hCj{��ubeubhò)Årì��}rî��(hBX���|S2| will resolve to |P3|.rï��hCj��hIhJhKhßhM}rñ��(hO]hP]hQ]hR]hU]uhWMhXhhY]ró��(jˆ��)Årò��}rô��(hBU�hCjì��hINhKj˘��hM}rö��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will resolve to rõ��ÖÅrú��}rù��(hBX��� will resolve to hCjì��ubjˆ��)Årû��}rü��(hBU�hCjì��hINhKj˘��hM}r†��(Ulatexj[��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr°��}r¢��(hBX���.hCjì��ubeubeubhD)År£��}r§��(hBU�hChEhIhJhKhLhM}r•��(hO]hP]hQ]hR]r¶��jÓ��ahU]rß��h1auhWMhXhhY]r®��(h[)År©��}r™��(hBjÛ��hCj£��hIhJhKh_hM}r´��(hR]hQ]hO]hP]hU]hajÌ��uhWMhXhhY]r¨��hdX���Case 15r≠��ÖÅrÆ��}rØ��(hBjÛ��hCj©��ubaubhs)År∞��}r±��(hBU�hCj£��hIhJhKhvhM}r≤��(hR]hQ]hO]hP]hU]haX���equation-c15r≥��uhWNhXhhY]ubj˚��)År¥��}rµ��(hBU�hCj£��hIhJh{}hKj˛��hM}r∂��(j���XÏ���P_1\binom{S_1}{t_1} \leftrightarrows
P_2\binom{S_1}{t_2} \; & \square \;
?? \leftarrow
P_4\binom{S_1}{t_4} \leftrightarrows
P_5\binom{S_2}{t_5}\\
t_1 < t_2 & < t_4 < t_5\\
resolve(S_1) &\Rrightarrow P_4 \\
resolve(S_2) &\Rrightarrow P_5j��âj��KhR]r∑��j≥��ahQ]hO]hP]hU]j��j√��j��j��X���c15r∏��ÖÅrπ��}r∫��buhWM	hXhhÉ}rª��j≥��j∞��shY]ubhò)Årº��}rΩ��(hBXg���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2, P_4 \rbrace` have the same series
identifier, |S1|.hCj£��hIhJhKhßhM}ræ��(hO]hP]hQ]hR]hU]uhWMhXhhY]rø��(hdX���A set of objects r¿��ÖÅr¡��}r¬��(hBX���A set of objects hCjº��ubjˆ��)År√��}rƒ��(hBU�hM}r≈��(UlatexX'���O_{S_1} = \lbrace P_1, P_2, P_4 \rbracehR]hQ]hO]hP]hU]uhCjº��hY]hKj˘��ubhdX"��� have the same series
identifier, r∆��ÖÅr«��}r»��(hBX"��� have the same series
identifier, hCjº��ubjˆ��)År…��}r ��(hBU�hCjº��hINhKj˘��hM}rÀ��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrÃ��}rÕ��(hBX���.hCjº��ubeubhò)ÅrŒ��}rœ��(hBXW���A set of objects :math:`O_{S_2} = \lbrace P_5 \rbrace` has the series
identifier, |S2|.hCj£��hIhJhKhßhM}r–��(hO]hP]hQ]hR]hU]uhWMhXhhY]r—��(hdX���A set of objects r“��ÖÅr”��}r‘��(hBX���A set of objects hCjŒ��ubjˆ��)År’��}r÷��(hBU�hM}r◊��(UlatexX���O_{S_2} = \lbrace P_5 \rbracehR]hQ]hO]hP]hU]uhCjŒ��hY]hKj˘��ubhdX��� has the series
identifier, rÿ��ÖÅrŸ��}r⁄��(hBX��� has the series
identifier, hCjŒ��ubjˆ��)År€��}r‹��(hBU�hCjŒ��hINhKj˘��hM}r›��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrfi��}rfl��(hBX���.hCjŒ��ubeubhò)År‡��}r·��(hBXû���Objects :math:`O = O_{S_1} \cup P_3 \cup O_{S_2}` all participate in a damaged
obsolescence chain with no assertion of the relationship between |P2| and |P4|.hCj£��hIhJhKhßhM}r‚��(hO]hP]hQ]hR]hU]uhWMhXhhY]r„��(hdX���Objects r‰��ÖÅrÂ��}rÊ��(hBX���Objects hCj‡��ubjˆ��)ÅrÁ��}rË��(hBU�hM}rÈ��(UlatexX!���O = O_{S_1} \cup P_3 \cup O_{S_2}hR]hQ]hO]hP]hU]uhCj‡��hY]hKj˘��ubhdX_��� all participate in a damaged
obsolescence chain with no assertion of the relationship between rÍ��ÖÅrÎ��}rÏ��(hBX_��� all participate in a damaged
obsolescence chain with no assertion of the relationship between hCj‡��ubjˆ��)ÅrÌ��}rÓ��(hBU�hCj‡��hINhKj˘��hM}rÔ��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� and r��ÖÅrÒ��}rÚ��(hBX��� and hCj‡��ubjˆ��)ÅrÛ��}rÙ��(hBU�hCj‡��hINhKj˘��hM}rı��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrˆ��}r˜��(hBX���.hCj‡��ubeubhò)År¯��}r˘��(hBXΩ���In this case resolving |S1| will result in |P4| which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by |S1|.hCj£��hIhJhKhßhM}r˙��(hO]hP]hQ]hR]hU]uhWMhXhhY]r˚��(hdX���In this case resolving r¸��ÖÅr˝��}r˛��(hBX���In this case resolving hCj¯��ubjˆ��)Årˇ��}r���(hBU�hCj¯��hINhKj˘��hM}r��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r��ÖÅr��}r��(hBX��� will result in hCj¯��ubjˆ��)År��}r��(hBU�hCj¯��hINhKj˘��hM}r��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXâ��� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by r��ÖÅr	��}r
��(hBX�� which is not the most recent
object in the obsolescence chain, however it is the newest version in the
obsolescence chain identified by hCj¯��ubjˆ��)År��}r��(hBU�hCj¯��hINhKj˘��hM}r
��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr��}r��(hBX���.hCj¯��ubeubhò)År��}r��(hBX*���Resolving |S2| will result in :math:`P_5`.r��hCj£��hIhJhKhßhM}r��(hO]hP]hQ]hR]hU]uhWM"hXhhY]r��(hdX
���Resolving r��ÖÅr��}r��(hBX
���Resolving hCj��ubjˆ��)År��}r��(hBU�hCj��hINhKj˘��hM}r��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r��ÖÅr��}r��(hBX��� will result in hCj��ubjˆ��)År��}r��(hBU�hM}r ��(UlatexX���P_5hR]hQ]hO]hP]hU]uhCj��hY]hKj˘��ubhdX���.ÖÅr!��}r"��(hBX���.hCj��ubeubeubhD)År#��}r$��(hBU�hChEhIhJhKhLhM}r%��(hO]hP]hQ]hR]r&��j��ahU]r'��h0auhWM&hXhhY]r(��(h[)År)��}r*��(hBj��hCj#��hIhJhKh_hM}r+��(hR]hQ]hO]hP]hU]haj���uhWM&hXhhY]r,��hdX���Case 16r-��ÖÅr.��}r/��(hBj��hCj)��ubaubhs)År0��}r1��(hBU�hCj#��hIhJhKhvhM}r2��(hR]hQ]hO]hP]hU]haX���equation-c16r3��uhWNhXhhY]ubj˚��)År4��}r5��(hBU�hCj#��hIhJh{}hKj˛��hM}r6��(j���X∫���P_1\binom{S_1}{t_1} \leftarrow
P_2\binom{S_1}{t_2} & \rightarrow
?? \leftarrow
P_4\binom{S_2}{t_4} \\
t_1 < t_2 & < t_4\\
resolve(S_1) &\Rrightarrow P_2 \\
resolve(S_2) &\Rrightarrow P_4j��âj��KhR]r7��j3��ahQ]hO]hP]hU]j��j√��j��j��X���c16r8��ÖÅr9��}r:��buhWM(hXhhÉ}r;��j3��j0��shY]ubhò)År<��}r=��(hBXb���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2 \rbrace` have the same series
identifier, |S1|.hCj#��hIhJhKhßhM}r>��(hO]hP]hQ]hR]hU]uhWM3hXhhY]r?��(hdX���A set of objects r@��ÖÅrA��}rB��(hBX���A set of objects hCj<��ubjˆ��)ÅrC��}rD��(hBU�hM}rE��(UlatexX"���O_{S_1} = \lbrace P_1, P_2 \rbracehR]hQ]hO]hP]hU]uhCj<��hY]hKj˘��ubhdX"��� have the same series
identifier, rF��ÖÅrG��}rH��(hBX"��� have the same series
identifier, hCj<��ubjˆ��)ÅrI��}rJ��(hBU�hCj<��hINhKj˘��hM}rK��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrL��}rM��(hBX���.hCj<��ubeubhò)ÅrN��}rO��(hBXW���A set of objects :math:`O_{S_2} = \lbrace P_4 \rbrace` has the series
identifier, |S2|.hCj#��hIhJhKhßhM}rP��(hO]hP]hQ]hR]hU]uhWM6hXhhY]rQ��(hdX���A set of objects rR��ÖÅrS��}rT��(hBX���A set of objects hCjN��ubjˆ��)ÅrU��}rV��(hBU�hM}rW��(UlatexX���O_{S_2} = \lbrace P_4 \rbracehR]hQ]hO]hP]hU]uhCjN��hY]hKj˘��ubhdX��� has the series
identifier, rX��ÖÅrY��}rZ��(hBX��� has the series
identifier, hCjN��ubjˆ��)År[��}r\��(hBU�hCjN��hINhKj˘��hM}r]��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr^��}r_��(hBX���.hCjN��ubeubhò)År`��}ra��(hBXo��Objects :math:`O_{S_1}` and :math:`O_{S_2}` are both damaged obsolescence
chains though the Coordinating Nodes may infer association between
:math:`O_{S_1}` and :math:`O_{S_2}` since even though the object that |P2| is
``obsoletedBy`` and the object that |P4| ``obsoletes`` can not be resolved,
:math:`P_2.obsoletedBy` and :math:`P_4.obsoletes` are be the same value.hCj#��hIhJhKhßhM}rb��(hO]hP]hQ]hR]hU]uhWM9hXhhY]rc��(hdX���Objects rd��ÖÅre��}rf��(hBX���Objects hCj`��ubjˆ��)Årg��}rh��(hBU�hM}ri��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCj`��hY]hKj˘��ubhdX��� and rj��ÖÅrk��}rl��(hBX��� and hCj`��ubjˆ��)Årm��}rn��(hBU�hM}ro��(UlatexX���O_{S_2}hR]hQ]hO]hP]hU]uhCj`��hY]hKj˘��ubhdXb��� are both damaged obsolescence
chains though the Coordinating Nodes may infer association between
rp��ÖÅrq��}rr��(hBXb��� are both damaged obsolescence
chains though the Coordinating Nodes may infer association between
hCj`��ubjˆ��)Års��}rt��(hBU�hM}ru��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCj`��hY]hKj˘��ubhdX��� and rv��ÖÅrw��}rx��(hBX��� and hCj`��ubjˆ��)Åry��}rz��(hBU�hM}r{��(UlatexX���O_{S_2}hR]hQ]hO]hP]hU]uhCj`��hY]hKj˘��ubhdX#��� since even though the object that r|��ÖÅr}��}r~��(hBX#��� since even though the object that hCj`��ubjˆ��)År��}rÄ��(hBU�hCj`��hINhKj˘��hM}rÅ��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� is
rÇ��ÖÅrÉ��}rÑ��(hBX��� is
hCj`��ubj‚��)ÅrÖ��}rÜ��(hBX���``obsoletedBy``hM}rá��(hO]hP]hQ]hR]hU]uhCj`��hY]rà��hdX���obsoletedByrâ��ÖÅrä��}rã��(hBU�hCjÖ��ubahKjÏ��ubhdX��� and the object that rå��ÖÅrç��}ré��(hBX��� and the object that hCj`��ubjˆ��)Årè��}rê��(hBU�hCj`��hINhKj˘��hM}rë��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� ÖÅrí��}rì��(hBX��� hCj`��ubj‚��)Årî��}rï��(hBX
���``obsoletes``hM}rñ��(hO]hP]hQ]hR]hU]uhCj`��hY]ró��hdX	���obsoletesrò��ÖÅrô��}rö��(hBU�hCjî��ubahKjÏ��ubhdX��� can not be resolved,
rõ��ÖÅrú��}rù��(hBX��� can not be resolved,
hCj`��ubjˆ��)Årû��}rü��(hBU�hM}r†��(UlatexX���P_2.obsoletedByhR]hQ]hO]hP]hU]uhCj`��hY]hKj˘��ubhdX��� and r°��ÖÅr¢��}r£��(hBX��� and hCj`��ubjˆ��)År§��}r•��(hBU�hM}r¶��(UlatexX
���P_4.obsoleteshR]hQ]hO]hP]hU]uhCj`��hY]hKj˘��ubhdX��� are be the same value.rß��ÖÅr®��}r©��(hBX��� are be the same value.hCj`��ubeubhò)År™��}r´��(hBXu���In this case resolving |S1| will result in |P2| which is the most recent
resolvable object in the obsolescence chain.hCj#��hIhJhKhßhM}r¨��(hO]hP]hQ]hR]hU]uhWM?hXhhY]r≠��(hdX���In this case resolving rÆ��ÖÅrØ��}r∞��(hBX���In this case resolving hCj™��ubjˆ��)År±��}r≤��(hBU�hCj™��hINhKj˘��hM}r≥��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r¥��ÖÅrµ��}r∂��(hBX��� will result in hCj™��ubjˆ��)År∑��}r∏��(hBU�hCj™��hINhKj˘��hM}rπ��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXF��� which is the most recent
resolvable object in the obsolescence chain.r∫��ÖÅrª��}rº��(hBXF��� which is the most recent
resolvable object in the obsolescence chain.hCj™��ubeubhò)ÅrΩ��}ræ��(hBX*���Resolving |S2| will result in :math:`P_4`.rø��hCj#��hIhJhKhßhM}r¿��(hO]hP]hQ]hR]hU]uhWMBhXhhY]r¡��(hdX
���Resolving r¬��ÖÅr√��}rƒ��(hBX
���Resolving hCjΩ��ubjˆ��)År≈��}r∆��(hBU�hCjΩ��hINhKj˘��hM}r«��(Ulatexj��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r»��ÖÅr…��}r ��(hBX��� will result in hCjΩ��ubjˆ��)ÅrÀ��}rÃ��(hBU�hM}rÕ��(UlatexX���P_4hR]hQ]hO]hP]hU]uhCjΩ��hY]hKj˘��ubhdX���.ÖÅrŒ��}rœ��(hBX���.hCjΩ��ubeubeubhD)År–��}r—��(hBU�hChEhIhJhKhLhM}r“��(hO]hP]hQ]hR]r”��j��ahU]r‘��h4auhWMFhXhhY]r’��(h[)År÷��}r◊��(hBj��hCj–��hIhJhKh_hM}rÿ��(hR]hQ]hO]hP]hU]haj��uhWMFhXhhY]rŸ��hdX���Case 17r⁄��ÖÅr€��}r‹��(hBj��hCj÷��ubaubhs)År›��}rfi��(hBU�hCj–��hIhJhKhvhM}rfl��(hR]hQ]hO]hP]hU]haX���equation-c17r‡��uhWNhXhhY]ubj˚��)År·��}r‚��(hBU�hCj–��hIhJh{}hKj˛��hM}r„��(j���Xò���P_1\binom{S_1}{t_1} \leftarrow
P_2\binom{S_1}{t_2} & \rightarrow
?? \leftarrow
P_4\binom{S_1}{t_4} \\
t_1 < t_2 & < t_4\\
resolve(S_1) &\Rrightarrow P_4j��âj��KhR]r‰��j‡��ahQ]hO]hP]hU]j��j√��j��j��X���c17rÂ��ÖÅrÊ��}rÁ��buhWMHhXhhÉ}rË��j‡��j›��shY]ubhò)ÅrÈ��}rÍ��(hBXg���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2, P_4 \rbrace` have the same
series identifier, |S1|.hCj–��hIhJhKhßhM}rÎ��(hO]hP]hQ]hR]hU]uhWMRhXhhY]rÏ��(hdX���A set of objects rÌ��ÖÅrÓ��}rÔ��(hBX���A set of objects hCjÈ��ubjˆ��)År��}rÒ��(hBU�hM}rÚ��(UlatexX'���O_{S_1} = \lbrace P_1, P_2, P_4 \rbracehR]hQ]hO]hP]hU]uhCjÈ��hY]hKj˘��ubhdX"��� have the same
series identifier, rÛ��ÖÅrÙ��}rı��(hBX"��� have the same
series identifier, hCjÈ��ubjˆ��)Årˆ��}r˜��(hBU�hCjÈ��hINhKj˘��hM}r¯��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr˘��}r˙��(hBX���.hCjÈ��ubeubhò)År˚��}r¸��(hBX��Objects :math:`O_{S_1}` form a damaged obsolescence chain though it can be
inferred that |P2| is ``obsoletedBy`` and |P4| ``obsoletes`` the same object
even though it can not be resolved, :math:`P_2.obsoletedBy` and
:math:`P_4.obsoletes` are be the same value.hCj–��hIhJhKhßhM}r˝��(hO]hP]hQ]hR]hU]uhWMUhXhhY]r˛��(hdX���Objects rˇ��ÖÅr���}r��(hBX���Objects hCj˚��ubjˆ��)År��}r��(hBU�hM}r��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCj˚��hY]hKj˘��ubhdXB��� form a damaged obsolescence chain though it can be
inferred that r��ÖÅr��}r��(hBXB��� form a damaged obsolescence chain though it can be
inferred that hCj˚��ubjˆ��)År��}r	��(hBU�hCj˚��hINhKj˘��hM}r
��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� is r��ÖÅr��}r
��(hBX��� is hCj˚��ubj‚��)År��}r��(hBX���``obsoletedBy``hM}r��(hO]hP]hQ]hR]hU]uhCj˚��hY]r��hdX���obsoletedByr��ÖÅr��}r��(hBU�hCj��ubahKjÏ��ubhdX��� and r��ÖÅr��}r��(hBX��� and hCj˚��ubjˆ��)År��}r��(hBU�hCj˚��hINhKj˘��hM}r��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� ÖÅr��}r��(hBX��� hCj˚��ubj‚��)År��}r��(hBX
���``obsoletes``hM}r��(hO]hP]hQ]hR]hU]uhCj˚��hY]r ��hdX	���obsoletesr!��ÖÅr"��}r#��(hBU�hCj��ubahKjÏ��ubhdX5��� the same object
even though it can not be resolved, r$��ÖÅr%��}r&��(hBX5��� the same object
even though it can not be resolved, hCj˚��ubjˆ��)År'��}r(��(hBU�hM}r)��(UlatexX���P_2.obsoletedByhR]hQ]hO]hP]hU]uhCj˚��hY]hKj˘��ubhdX��� and
r*��ÖÅr+��}r,��(hBX��� and
hCj˚��ubjˆ��)År-��}r.��(hBU�hM}r/��(UlatexX
���P_4.obsoleteshR]hQ]hO]hP]hU]uhCj˚��hY]hKj˘��ubhdX��� are be the same value.r0��ÖÅr1��}r2��(hBX��� are be the same value.hCj˚��ubeubhò)År3��}r4��(hBX0���In this case resolving |S1| will result in |P4|.r5��hCj–��hIhJhKhßhM}r6��(hO]hP]hQ]hR]hU]uhWMZhXhhY]r7��(hdX���In this case resolving r8��ÖÅr9��}r:��(hBX���In this case resolving hCj3��ubjˆ��)År;��}r<��(hBU�hCj3��hINhKj˘��hM}r=��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r>��ÖÅr?��}r@��(hBX��� will result in hCj3��ubjˆ��)ÅrA��}rB��(hBU�hCj3��hINhKj˘��hM}rC��(Ulatexje��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅrD��}rE��(hBX���.hCj3��ubeubeubhD)ÅrF��}rG��(hBU�hChEhIhJhKhLhM}rH��(hO]hP]hQ]hR]rI��j'��ahU]rJ��h(auhWM_hXhhY]rK��(h[)ÅrL��}rM��(hBj,��hCjF��hIhJhKh_hM}rN��(hR]hQ]hO]hP]hU]haj&��uhWM_hXhhY]rO��hdX���Case 18rP��ÖÅrQ��}rR��(hBj,��hCjL��ubaubj˚��)ÅrS��}rT��(hBU�hCjF��hIhJhKj˛��hM}rU��(j���XØ���P_1\binom{S_1}{t_1} \leftrightarrows
P_2\binom{S_1}{t_2} & \rightarrow
?? \; \square \; ?? \leftarrow
P_5\binom{S_1}{t_5} \\
t_1 < t_2 & < t_5\\
resolve(S_1) &\Rrightarrow P_5j��âj��NhR]hQ]hO]hP]hU]j��j√��j��j��X���c16rV��ÖÅrW��}rX��buhWMahXhhY]ubhò)ÅrY��}rZ��(hBXg���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2, P_5 \rbrace` have the same
series identifier, |S1|.hCjF��hIhJhKhßhM}r[��(hO]hP]hQ]hR]hU]uhWMlhXhhY]r\��(hdX���A set of objects r]��ÖÅr^��}r_��(hBX���A set of objects hCjY��ubjˆ��)År`��}ra��(hBU�hM}rb��(UlatexX'���O_{S_1} = \lbrace P_1, P_2, P_5 \rbracehR]hQ]hO]hP]hU]uhCjY��hY]hKj˘��ubhdX"��� have the same
series identifier, rc��ÖÅrd��}re��(hBX"��� have the same
series identifier, hCjY��ubjˆ��)Årf��}rg��(hBU�hCjY��hINhKj˘��hM}rh��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅri��}rj��(hBX���.hCjY��ubeubhò)Årk��}rl��(hBXc���The obsolescence chain :math:`O_{S_1}` is broken, with no way to traverse from
|P2| to :math:`P_5`.hCjF��hIhJhKhßhM}rm��(hO]hP]hQ]hR]hU]uhWMohXhhY]rn��(hdX���The obsolescence chain ro��ÖÅrp��}rq��(hBX���The obsolescence chain hCjk��ubjˆ��)Årr��}rs��(hBU�hM}rt��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCjk��hY]hKj˘��ubhdX)��� is broken, with no way to traverse from
ru��ÖÅrv��}rw��(hBX)��� is broken, with no way to traverse from
hCjk��ubjˆ��)Årx��}ry��(hBU�hCjk��hINhKj˘��hM}rz��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� to r{��ÖÅr|��}r}��(hBX��� to hCjk��ubjˆ��)År~��}r��(hBU�hM}rÄ��(UlatexX���P_5hR]hQ]hO]hP]hU]uhCjk��hY]hKj˘��ubhdX���.ÖÅrÅ��}rÇ��(hBX���.hCjk��ubeubhò)ÅrÉ��}rÑ��(hBXr���The :attr:`~Types.SystemMetadata.dateUploaded` places :math:`P_5` as the newest
object with the series Id of |S1|.hCjF��hIhJhKhßhM}rÖ��(hO]hP]hQ]hR]hU]uhWMrhXhhY]rÜ��(hdX���The rá��ÖÅrà��}râ��(hBX���The hCjÉ��ubjπ��)Årä��}rã��(hBX*���:attr:`~Types.SystemMetadata.dateUploaded`rå��hCjÉ��hIhJhKjΩ��hM}rç��(UreftypeX���attrjø��âj¿��X!���Types.SystemMetadata.dateUploadedU	refdomainX���pyré��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWMrhY]rè��j‚��)Årê��}rë��(hBjå��hM}rí��(hO]hP]rì��(j ��jé��X���py-attrrî��ehQ]hR]hU]uhCjä��hY]rï��hdX���dateUploadedrñ��ÖÅró��}rò��(hBU�hCjê��ubahKjÏ��ubaubhdX��� places rô��ÖÅrö��}rõ��(hBX��� places hCjÉ��ubjˆ��)Årú��}rù��(hBU�hM}rû��(UlatexX���P_5hR]hQ]hO]hP]hU]uhCjÉ��hY]hKj˘��ubhdX,��� as the newest
object with the series Id of rü��ÖÅr†��}r°��(hBX,��� as the newest
object with the series Id of hCjÉ��ubjˆ��)År¢��}r£��(hBU�hCjÉ��hINhKj˘��hM}r§��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr•��}r¶��(hBX���.hCjÉ��ubeubhò)Årß��}r®��(hBX&���Resolving |S1| results in :math:`P_5`.r©��hCjF��hIhJhKhßhM}r™��(hO]hP]hQ]hR]hU]uhWMuhXhhY]r´��(hdX
���Resolving r¨��ÖÅr≠��}rÆ��(hBX
���Resolving hCjß��ubjˆ��)ÅrØ��}r∞��(hBU�hCjß��hINhKj˘��hM}r±��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� results in r≤��ÖÅr≥��}r¥��(hBX��� results in hCjß��ubjˆ��)Årµ��}r∂��(hBU�hM}r∑��(UlatexX���P_5hR]hQ]hO]hP]hU]uhCjß��hY]hKj˘��ubhdX���.ÖÅr∏��}rπ��(hBX���.hCjß��ubeubeubhD)År∫��}rª��(hBU�hChEhIhJhKhLhM}rº��(hO]hP]hQ]hR]rΩ��j:��ahU]ræ��h)auhWMyhXhhY]rø��(h[)År¿��}r¡��(hBj?��hCj∫��hIhJhKh_hM}r¬��(hR]hQ]hO]hP]hU]haj9��uhWMyhXhhY]r√��hdX���Case 19rƒ��ÖÅr≈��}r∆��(hBj?��hCj¿��ubaubj˚��)År«��}r»��(hBU�hCj∫��hIhJhKj˛��hM}r…��(j���Xâ���P_1\binom{S_1}{t_1} \leftarrow
P_2\binom{S_1}{t_2} & \leftarrow
P_3\binom{S_1}{t_3} \\
t_1 > t_2 & > t_3\\
resolve(S_1) &\Rrightarrow P_3j��âj��NhR]hQ]hO]hP]hU]j��j√��j��j��X���c17r ��ÖÅrÀ��}rÃ��buhWM{hXhhY]ubhò)ÅrÕ��}rŒ��(hBXg���A set of objects :math:`O_{S_1} = \lbrace P_1, P_2, P_3 \rbrace` have the same
series identifier, |S1|.hCj∫��hIhJhKhßhM}rœ��(hO]hP]hQ]hR]hU]uhWMÑhXhhY]r–��(hdX���A set of objects r—��ÖÅr“��}r”��(hBX���A set of objects hCjÕ��ubjˆ��)År‘��}r’��(hBU�hM}r÷��(UlatexX'���O_{S_1} = \lbrace P_1, P_2, P_3 \rbracehR]hQ]hO]hP]hU]uhCjÕ��hY]hKj˘��ubhdX"��� have the same
series identifier, r◊��ÖÅrÿ��}rŸ��(hBX"��� have the same
series identifier, hCjÕ��ubjˆ��)År⁄��}r€��(hBU�hCjÕ��hINhKj˘��hM}r‹��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr›��}rfi��(hBX���.hCjÕ��ubeubhò)Årfl��}r‡��(hBXh���Objects :math:`O_{S_1}` form a damaged obsolescence chain since only
``obsoletes`` values are specified.hCj∫��hIhJhKhßhM}r·��(hO]hP]hQ]hR]hU]uhWMáhXhhY]r‚��(hdX���Objects r„��ÖÅr‰��}rÂ��(hBX���Objects hCjfl��ubjˆ��)ÅrÊ��}rÁ��(hBU�hM}rË��(UlatexX���O_{S_1}hR]hQ]hO]hP]hU]uhCjfl��hY]hKj˘��ubhdX.��� form a damaged obsolescence chain since only
rÈ��ÖÅrÍ��}rÎ��(hBX.��� form a damaged obsolescence chain since only
hCjfl��ubj‚��)ÅrÏ��}rÌ��(hBX
���``obsoletes``hM}rÓ��(hO]hP]hQ]hR]hU]uhCjfl��hY]rÔ��hdX	���obsoletesr��ÖÅrÒ��}rÚ��(hBU�hCjÏ��ubahKjÏ��ubhdX��� values are specified.rÛ��ÖÅrÙ��}rı��(hBX��� values are specified.hCjfl��ubeubhò)Årˆ��}r˜��(hBXl���The :attr:`~Types.SystemMetadata.dateUploaded` of |P1| is newer than |P2|,
which in turn is newer than |P3|.hCj∫��hIhJhKhßhM}r¯��(hO]hP]hQ]hR]hU]uhWMähXhhY]r˘��(hdX���The r˙��ÖÅr˚��}r¸��(hBX���The hCjˆ��ubjπ��)År˝��}r˛��(hBX*���:attr:`~Types.SystemMetadata.dateUploaded`rˇ��hCjˆ��hIhJhKjΩ��hM}r���(UreftypeX���attrjø��âj¿��X!���Types.SystemMetadata.dateUploadedU	refdomainX���pyr��hR]hQ]UrefexplicitâhO]hP]hU]j¬��j√��jfl��Nj‡��NuhWMähY]r��j‚��)År��}r��(hBjˇ��hM}r��(hO]hP]r��(j ��j��X���py-attrr��ehQ]hR]hU]uhCj˝��hY]r��hdX���dateUploadedr	��ÖÅr
��}r��(hBU�hCj��ubahKjÏ��ubaubhdX��� of r��ÖÅr
��}r��(hBX��� of hCjˆ��ubjˆ��)År��}r��(hBU�hCjˆ��hINhKj˘��hM}r��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� is newer than r��ÖÅr��}r��(hBX��� is newer than hCjˆ��ubjˆ��)År��}r��(hBU�hCjˆ��hINhKj˘��hM}r��(UlatexjQ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���,
which in turn is newer than r��ÖÅr��}r��(hBX���,
which in turn is newer than hCjˆ��ubjˆ��)År��}r��(hBU�hCjˆ��hINhKj˘��hM}r��(Ulatexj[��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX���.ÖÅr��}r��(hBX���.hCjˆ��ubeubhò)År ��}r!��(hBXå���In this case resolving |S1| will result in |P3| even though |P1| is the most
recent object since the obsolescence chain overrides the times.hCj∫��hIhJhKhßhM}r"��(hO]hP]hQ]hR]hU]uhWMçhXhhY]r#��(hdX���In this case resolving r$��ÖÅr%��}r&��(hBX���In this case resolving hCj ��ubjˆ��)År'��}r(��(hBU�hCj ��hINhKj˘��hM}r)��(UlatexjÅ��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX��� will result in r*��ÖÅr+��}r,��(hBX��� will result in hCj ��ubjˆ��)År-��}r.��(hBU�hCj ��hINhKj˘��hM}r/��(Ulatexj[��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdX
��� even though r0��ÖÅr1��}r2��(hBX
��� even though hCj ��ubjˆ��)År3��}r4��(hBU�hCj ��hINhKj˘��hM}r5��(UlatexjG��hR]hQ]hO]hP]hU]uhWNhXhhY]ubhdXL��� is the most
recent object since the obsolescence chain overrides the times.r6��ÖÅr7��}r8��(hBXL��� is the most
recent object since the obsolescence chain overrides the times.hCj ��ubeubeubeubhIhJhKj-��hM}r9��(hO]hP]hQ]hR]hU]r:��h>auhWKàhXhhY]r;��jˆ��)År<��}r=��(hBU�hM}r>��(Ulatexj��hR]hQ]hO]hP]hU]uhCh@hY]hKj˘��ubaubj|��jx��j9��j5��jº��j∏��j0��j+��j≈��j¡��jè��jã��jÜ��jÇ��jL��jH��jV��jR��jB��j>��j`��j\��X���Oj⁄��js��jo��jj��jf��X���_jØ��X���bj“��j°��jù��j™��j¶��X���oj ��jò��jî��X���xj‚��uUparse_messagesr?��]r@��(cdocutils.nodes
system_message
rA��)ÅrB��}rC��(hBU�hM}rD��(hO]UlevelKhR]hQ]UsourcehJhP]hU]UlineMaUtypeUWARNINGrE��uhY]rF��hò)ÅrG��}rH��(hBU�hM}rI��(hO]hP]hQ]hR]hU]uhCjB��hY]rJ��hdX†���duplicate label of equation c16, other instance in /var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/design/ContentMutability.txtrK��ÖÅrL��}rM��(hBU�hCjG��ubahKhßubahKUsystem_messagerN��ubjA��)ÅrO��}rP��(hBU�hM}rQ��(hO]UlevelKhR]hQ]UsourcehJhP]hU]UlineM{UtypejE��uhY]rR��hò)ÅrS��}rT��(hBU�hM}rU��(hO]hP]hQ]hR]hU]uhCjO��hY]rV��hdX†���duplicate label of equation c17, other instance in /var/lib/jenkins/jobs/API_Documentation_trunk/workspace/api-documentation/source/design/ContentMutability.txtrW��ÖÅrX��}rY��(hBU�hCjS��ubahKhßubahKjN��ubjA��)ÅrZ��}r[��(hBU�hCj��hIhJhKjN��hM}r\��(hO]UlevelKhR]hQ]UsourcehJhP]hU]UlineMñUtypeUERRORr]��uhWMïhXhhY]r^��hò)År_��}r`��(hBX���Unexpected indentation.hM}ra��(hO]hP]hQ]hR]hU]uhCjZ��hY]rb��hdX���Unexpected indentation.rc��ÖÅrd��}re��(hBU�hCj_��ubahKhßubaubjA��)Årf��}rg��(hBU�hCj…
��hIhJhKjN��hM}rh��(hO]UlevelKhR]hQ]UsourcehJhP]hU]UlineM§UtypeUSEVEREri��uhWM•hXhhY]rj��(hò)Årk��}rl��(hBX���Title level inconsistent:hM}rm��(hO]hP]hQ]hR]hU]uhCjf��hY]rn��hdX���Title level inconsistent:ro��ÖÅrp��}rq��(hBU�hCjk��ubahKhßubj��)Årr��}rs��(hBX#���Prioritized goals
^^^^^^^^^^^^^^^^^hM}rt��(j��j��hR]hQ]hO]hP]hU]uhCjf��hY]ru��hdX#���Prioritized goals
^^^^^^^^^^^^^^^^^rv��ÖÅrw��}rx��(hBU�hCjr��ubahKj��ubeubeUcurrent_sourcery��NU
decorationrz��NUautofootnote_startr{��KUnameidsr|��}r}��(hj&��hjÜ��hjs��h	j≥��h
j¯��hhπhjy��h
j��hh˜hj
��hh‰hjC��hjV��hj��hj0��hji��hj|��hj)��hhÅhj`��hj“��hjô��hj9��hj¨��hjv��hjM��h jL��h!j∆��h"hÕh#jˇ��h$jc��h%jÂ��h&jü��h'jŸ��h(j'��h)j:��h*jè��h+j¢��h,jµ��h-j»��h.j€��h/hTh0j��h1jÓ��h2j†��h3jâ��h4j��h5jS��h6jf��h7jÏ��h8jå��h9j<��h:j��h;jø��uhY]r~��hGahBU�Utransformerr��NU
footnote_refsrÄ��}rÅ��UrefnamesrÇ��}rÉ��Usymbol_footnotesrÑ��]rÖ��Uautofootnote_refsrÜ��]rá��Usymbol_footnote_refsrà��]râ��U	citationsrä��]rã��hXhUcurrent_linerå��NUtransform_messagesrç��]ré��(jA��)Årè��}rê��(hBU�hM}rë��(hO]UlevelKhR]hQ]UsourcehJhP]hU]UlineKUtypeUINFOrí��uhY]rì��hò)Årî��}rï��(hBU�hM}rñ��(hO]hP]hQ]hR]hU]uhCjè��hY]ró��hdX-���Hyperlink target "index-0" is not referenced.rò��ÖÅrô��}rö��(hBU�hCjî��ubahKhßubahKjN��ubjA��)Årõ��}rú��(hBU�hM}rù��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]rû��hò)Årü��}r†��(hBU�hM}r°��(hO]hP]hQ]hR]hU]uhCjõ��hY]r¢��hdX1���Hyperlink target "equation-c1" is not referenced.r£��ÖÅr§��}r•��(hBU�hCjü��ubahKhßubahKjN��ubjA��)År¶��}rß��(hBU�hM}r®��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r©��hò)År™��}r´��(hBU�hM}r¨��(hO]hP]hQ]hR]hU]uhCj¶��hY]r≠��hdX1���Hyperlink target "equation-c2" is not referenced.rÆ��ÖÅrØ��}r∞��(hBU�hCj™��ubahKhßubahKjN��ubjA��)År±��}r≤��(hBU�hM}r≥��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r¥��hò)Årµ��}r∂��(hBU�hM}r∑��(hO]hP]hQ]hR]hU]uhCj±��hY]r∏��hdX1���Hyperlink target "equation-c3" is not referenced.rπ��ÖÅr∫��}rª��(hBU�hCjµ��ubahKhßubahKjN��ubjA��)Årº��}rΩ��(hBU�hM}ræ��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]rø��hò)År¿��}r¡��(hBU�hM}r¬��(hO]hP]hQ]hR]hU]uhCjº��hY]r√��hdX1���Hyperlink target "equation-c4" is not referenced.rƒ��ÖÅr≈��}r∆��(hBU�hCj¿��ubahKhßubahKjN��ubjA��)År«��}r»��(hBU�hM}r…��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r ��hò)ÅrÀ��}rÃ��(hBU�hM}rÕ��(hO]hP]hQ]hR]hU]uhCj«��hY]rŒ��hdX1���Hyperlink target "equation-c5" is not referenced.rœ��ÖÅr–��}r—��(hBU�hCjÀ��ubahKhßubahKjN��ubjA��)År“��}r”��(hBU�hM}r‘��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r’��hò)År÷��}r◊��(hBU�hM}rÿ��(hO]hP]hQ]hR]hU]uhCj“��hY]rŸ��hdX1���Hyperlink target "equation-c6" is not referenced.r⁄��ÖÅr€��}r‹��(hBU�hCj÷��ubahKhßubahKjN��ubjA��)År›��}rfi��(hBU�hM}rfl��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r‡��hò)År·��}r‚��(hBU�hM}r„��(hO]hP]hQ]hR]hU]uhCj›��hY]r‰��hdX1���Hyperlink target "equation-c7" is not referenced.rÂ��ÖÅrÊ��}rÁ��(hBU�hCj·��ubahKhßubahKjN��ubjA��)ÅrË��}rÈ��(hBU�hM}rÍ��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]rÎ��hò)ÅrÏ��}rÌ��(hBU�hM}rÓ��(hO]hP]hQ]hR]hU]uhCjË��hY]rÔ��hdX1���Hyperlink target "equation-c8" is not referenced.r��ÖÅrÒ��}rÚ��(hBU�hCjÏ��ubahKhßubahKjN��ubjA��)ÅrÛ��}rÙ��(hBU�hM}rı��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]rˆ��hò)År˜��}r¯��(hBU�hM}r˘��(hO]hP]hQ]hR]hU]uhCjÛ��hY]r˙��hdX1���Hyperlink target "equation-c9" is not referenced.r˚��ÖÅr¸��}r˝��(hBU�hCj˜��ubahKhßubahKjN��ubjA��)År˛��}rˇ��(hBU�hM}r���(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r��hò)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj˛��hY]r��hdX2���Hyperlink target "equation-c10" is not referenced.r��ÖÅr��}r��(hBU�hCj��ubahKhßubahKjN��ubjA��)År	��}r
��(hBU�hM}r��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r��hò)År
��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj	��hY]r��hdX2���Hyperlink target "equation-c11" is not referenced.r��ÖÅr��}r��(hBU�hCj
��ubahKhßubahKjN��ubjA��)År��}r��(hBU�hM}r��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r��hò)År��}r��(hBU�hM}r��(hO]hP]hQ]hR]hU]uhCj��hY]r��hdX2���Hyperlink target "equation-c12" is not referenced.r��ÖÅr��}r��(hBU�hCj��ubahKhßubahKjN��ubjA��)År��}r ��(hBU�hM}r!��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r"��hò)År#��}r$��(hBU�hM}r%��(hO]hP]hQ]hR]hU]uhCj��hY]r&��hdX2���Hyperlink target "equation-c13" is not referenced.r'��ÖÅr(��}r)��(hBU�hCj#��ubahKhßubahKjN��ubjA��)År*��}r+��(hBU�hM}r,��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r-��hò)År.��}r/��(hBU�hM}r0��(hO]hP]hQ]hR]hU]uhCj*��hY]r1��hdX2���Hyperlink target "equation-c14" is not referenced.r2��ÖÅr3��}r4��(hBU�hCj.��ubahKhßubahKjN��ubjA��)År5��}r6��(hBU�hM}r7��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]r8��hò)År9��}r:��(hBU�hM}r;��(hO]hP]hQ]hR]hU]uhCj5��hY]r<��hdX2���Hyperlink target "equation-c15" is not referenced.r=��ÖÅr>��}r?��(hBU�hCj9��ubahKhßubahKjN��ubjA��)År@��}rA��(hBU�hM}rB��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]rC��hò)ÅrD��}rE��(hBU�hM}rF��(hO]hP]hQ]hR]hU]uhCj@��hY]rG��hdX2���Hyperlink target "equation-c16" is not referenced.rH��ÖÅrI��}rJ��(hBU�hCjD��ubahKhßubahKjN��ubjA��)ÅrK��}rL��(hBU�hM}rM��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]rN��hò)ÅrO��}rP��(hBU�hM}rQ��(hO]hP]hQ]hR]hU]uhCjK��hY]rR��hdX2���Hyperlink target "equation-c17" is not referenced.rS��ÖÅrT��}rU��(hBU�hCjO��ubahKhßubahKjN��ubjA��)ÅrV��}rW��(hBU�hM}rX��(hO]UlevelKhR]hQ]UsourcehJhP]hU]Utypejí��uhY]rY��hò)ÅrZ��}r[��(hBU�hM}r\��(hO]hP]hQ]hR]hU]uhCjV��hY]r]��hdX-���Hyperlink target "index-1" is not referenced.r^��ÖÅr_��}r`��(hBU�hCjZ��ubahKhßubahKjN��ubeUreporterra��NUid_startrb��K6U
autofootnotesrc��]rd��U
citation_refsre��}rf��Uindirect_targetsrg��]rh��Usettingsri��(cdocutils.frontend
Values
rj��ork��}rl��(Ufootnote_backlinksrm��KUrecord_dependenciesrn��NUrfc_base_urlro��Uhttps://tools.ietf.org/html/rp��U	tracebackrq��àUpep_referencesrr��NUstrip_commentsrs��NU
toc_backlinksrt��Uentryru��U
language_coderv��Uenrw��U	datestamprx��NUreport_levelry��KU_destinationrz��NU
halt_levelr{��KU
strip_classesr|��Nh_NUerror_encoding_error_handlerr}��Ubackslashreplacer~��Udebugr��NUembed_stylesheetrÄ��âUoutput_encoding_error_handlerrÅ��UstrictrÇ��U
sectnum_xformr��KUdump_transformsr��NU
docinfo_xformrÖ��KUwarning_streamrÜ��NUpep_file_url_templaterá��Upep-%04drà��Uexit_status_levelrâ��KUconfigrä��NUstrict_visitorrã��NUcloak_email_addressesrå��àUtrim_footnote_reference_spacerç��âUenvré��NUdump_pseudo_xmlrè��NUexpose_internalsrê��NUsectsubtitle_xformrë��âUsource_linkrí��NUrfc_referencesrì��NUoutput_encodingrî��Uutf-8rï��U
source_urlrñ��NUinput_encodingró��U	utf-8-sigrò��U_disable_configrô��NU	id_prefixrö��U�U	tab_widthrõ��KUerror_encodingrú��UUTF-8rù��U_sourcerû��hJUgettext_compactrü��àU	generatorr†��NUdump_internalsr°��NUsmart_quotesr¢��âUpep_base_urlr£��U https://www.python.org/dev/peps/r§��Usyntax_highlightr•��Ulongr¶��Uinput_encoding_error_handlerrß��jÇ��Uauto_id_prefixr®��Uidr©��Udoctitle_xformr™��âUstrip_elements_with_classesr´��NU
_config_filesr¨��]Ufile_insertion_enabledr≠��àUraw_enabledrÆ��KU
dump_settingsrØ��NubUsymbol_footnote_startr∞��K�Uidsr±��}r≤��(j9��j��j†��j»��j;��j7��j(��j$��jˇ��j…
��j˛��j˙��jÎ��jÁ��jÿ��j‘��j≈��j¡��j≤��jÆ��jü��jõ��jv��jû��jR��jN��jy��j˜��j��j��hphyjy��j{��jb��j^��j≥��j›��j&��jÍ��j—��jÕ��j“��jë��jc��jÅ��hÕhEjø��jt��j/��j+��j)��j��j	��j��j��j��h„hflhˆhÚh∏h¥hÃh»jf��jæ��hbhûjL��ja��j��j��jï��jñ��j\��j]��jÊ��jÁ��j"��j#��j—��j“��j˙��j¸��j.��j/��j∫��jª��jÜ��j«��jS��j±��j¢��jˆ��jô��j)��j»��j´��jµ��jP��jÓ��j£��j€��j��j��j–��j��j#��j:��j∫��j'��jF��j<��jp��hπj•��j��jfi
��j`��jï��jU��jQ��jh��jd��j{��jw��jé��jä��j°��jù��j¥��j∞��j«��j√��j��jË��jÌ��jÈ��j���j¸��jÂ��j¶��jè��jm��j⁄��j÷��jM��jD��jü��ja��j∆��j˙��j0��jL��j��j÷��jV��j��jC��j¡��h‰jÍ��j
��j��h˜j™��j|��j��ji��jÖ��js��j≤��jâ��j≥��hÅhyhThGju��jq��jà��jÑ��jK��jG��jŸ��j	��j%��j!��j8��j4��j˜��jÛ��j��j
��j¯��jª��j‰��j‡��je��ja��jx��jt��jã��já��jû��jö��j��j��j}��j~��jª��jº��j`��ja��j≥��j¥��j*��j+��j‡��j·��j3��j4��j¨��j>��jB��j>��jå��j(��jæ��j∫��j´��jß��jÏ��j��j&��j"��j��j��jL��jH��j9��j5��jr��jn��j_��j[��jò��jî��jÖ��jÅ��uUsubstitution_namesr≥��}r¥��(X���p2jL��X���p3jV��X���p1jB��X���rsij≈��X���p4j`��X���s2h>X���s1j|��j°��j°��j™��j™��X���oX���Ojò��jò��X���pisjtkjº��X���sjjs��X���sijj��X���bX���bjè��jè��jÜ��jÜ��X���pjj9��X���xX���xX���pij0��X���_X���_uhKhXhM}rµ��(hO]hR]hQ]UsourcehJhP]hU]uU	footnotesr∂��]r∑��Urefidsr∏��}rπ��(j`��]r∫��j]��aj3��]rª��j0��aj‡��]rº��j›��aj≥��]rΩ��j∞��aj*��]ræ��j'��aj��]rø��j��aj��]r¿��j��ahp]r¡��htajï��]r¬��jí��ajy��]r√��jv��aj}��]rƒ��jz��aj\��]r≈��jY��ajÊ��]r∆��j„��aj"��]r«��j��aj—��]r»��jŒ��aj˙��]r…��j˜��ajª��]r ��j∏��aj.��]rÀ��j+��aj∫��]rÃ��j∑��auub.