chore: Publish current docs
diff --git a/docs/current/images/diag-60f7e4fde35ce57135786aa7e4ff7eb0.svg b/docs/current/images/diag-60f7e4fde35ce57135786aa7e4ff7eb0.svg
index eda04b8..ea7424b 100644
--- a/docs/current/images/diag-60f7e4fde35ce57135786aa7e4ff7eb0.svg
+++ b/docs/current/images/diag-60f7e4fde35ce57135786aa7e4ff7eb0.svg
@@ -1 +1 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg contentScriptType='application/ecmascript' contentStyleType='text/css' height='472px' preserveAspectRatio='none' style='width:315px;height:472px;background:#FFFFFF;' version='1.1' viewBox='0 0 315 472' width='315px' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' zoomAndPan='magnify'><defs/><g><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='45' x='16' y='17.1387'>module</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='64' x='26' y='31.1074'>mymodule</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='26' x='36' y='45.0762'>core</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='18' x='46' y='59.0449'>src</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='30' x='56' y='73.0137'>main</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='24' x='66' y='86.9824'>java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='216' x='76' y='100.9512'>org.apache.fineract.mymodule.core</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='27' x='86' y='114.9199'>data</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='73' x='96' y='128.8887'>MyData.java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='42' x='86' y='142.8574'>service</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='89' x='96' y='156.8262'>MyService.java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='72' x='46' y='170.7949'>build.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='126' x='46' y='184.7637'>dependencies.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='42' x='36' y='198.7324'>service</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='18' x='46' y='212.7012'>src</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='30' x='56' y='226.6699'>main</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='24' x='66' y='240.6387'>java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='232' x='76' y='254.6074'>org.apache.fineract.mymodule.service</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='116' x='86' y='268.5762'>MyServiceImpl.java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='72' x='46' y='282.5449'>build.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='126' x='46' y='296.5137'>dependencies.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='40' x='36' y='310.4824'>starter</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='18' x='46' y='324.4512'>src</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='30' x='56' y='338.4199'>main</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='24' x='66' y='352.3887'>java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='230' x='76' y='366.3574'>org.apache.fineract.mymodule.starter</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='154' x='86' y='380.3262'>MyAutoConfiguration.java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='58' x='46' y='394.2949'>resources</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='57' x='56' y='408.2637'>META-INF</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='93' x='66' y='422.2324'>spring.factories</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='72' x='46' y='436.2012'>build.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='126' x='46' y='450.1699'>dependencies.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='72' x='36' y='464.1387'>build.gradle</text><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='9' y='11.9844'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='19' y='25.9531'/><line style='stroke:#888888;stroke-width:1.0;' x1='10' x2='10' y1='14.9844' y2='26.9531'/><line style='stroke:#888888;stroke-width:1.0;' x1='10' x2='18' y1='26.9531' y2='26.9531'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='29' y='39.9219'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='40.9219'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='40.9219' y2='40.9219'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='39' y='53.8906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='54.8906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='54.8906' y2='54.8906'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='49' y='67.8594'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='40' y1='56.8906' y2='68.8594'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='48' y1='68.8594' y2='68.8594'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='59' y='81.8281'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='50' y1='70.8594' y2='82.8281'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='58' y1='82.8281' y2='82.8281'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='69' y='95.7969'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='60' y1='84.8281' y2='96.7969'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='68' y1='96.7969' y2='96.7969'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='79' y='109.7656'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='70' y1='98.7969' y2='110.7656'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='78' y1='110.7656' y2='110.7656'/><line style='stroke:#888888;stroke-width:1.0;' x1='80' x2='80' y1='112.7656' y2='124.7344'/><line style='stroke:#888888;stroke-width:1.0;' x1='80' x2='88' y1='124.7344' y2='124.7344'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='79' y='137.7031'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='70' y1='98.7969' y2='138.7031'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='78' y1='138.7031' y2='138.7031'/><line style='stroke:#888888;stroke-width:1.0;' x1='80' x2='80' y1='140.7031' y2='152.6719'/><line style='stroke:#888888;stroke-width:1.0;' x1='80' x2='88' y1='152.6719' y2='152.6719'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='166.6406'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='166.6406' y2='166.6406'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='180.6094'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='180.6094' y2='180.6094'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='29' y='193.5781'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='194.5781'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='194.5781' y2='194.5781'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='39' y='207.5469'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='196.5781' y2='208.5469'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='208.5469' y2='208.5469'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='49' y='221.5156'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='40' y1='210.5469' y2='222.5156'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='48' y1='222.5156' y2='222.5156'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='59' y='235.4844'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='50' y1='224.5156' y2='236.4844'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='58' y1='236.4844' y2='236.4844'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='69' y='249.4531'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='60' y1='238.4844' y2='250.4531'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='68' y1='250.4531' y2='250.4531'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='70' y1='252.4531' y2='264.4219'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='78' y1='264.4219' y2='264.4219'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='196.5781' y2='278.3906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='278.3906' y2='278.3906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='196.5781' y2='292.3594'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='292.3594' y2='292.3594'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='29' y='305.3281'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='306.3281'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='306.3281' y2='306.3281'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='39' y='319.2969'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='308.3281' y2='320.2969'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='320.2969' y2='320.2969'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='49' y='333.2656'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='40' y1='322.2969' y2='334.2656'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='48' y1='334.2656' y2='334.2656'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='59' y='347.2344'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='50' y1='336.2656' y2='348.2344'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='58' y1='348.2344' y2='348.2344'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='69' y='361.2031'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='60' y1='350.2344' y2='362.2031'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='68' y1='362.2031' y2='362.2031'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='70' y1='364.2031' y2='376.1719'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='78' y1='376.1719' y2='376.1719'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='39' y='389.1406'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='308.3281' y2='390.1406'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='390.1406' y2='390.1406'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='49' y='403.1094'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='40' y1='392.1406' y2='404.1094'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='48' y1='404.1094' y2='404.1094'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='50' y1='406.1094' y2='418.0781'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='58' y1='418.0781' y2='418.0781'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='308.3281' y2='432.0469'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='432.0469' y2='432.0469'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='308.3281' y2='446.0156'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='446.0156' y2='446.0156'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='459.9844'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='459.9844' y2='459.9844'/></g></svg>
\ No newline at end of file
+<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg contentScriptType='application/ecmascript' contentStyleType='text/css' height='472px' preserveAspectRatio='none' style='width:322px;height:472px;background:#FFFFFF;' version='1.1' viewBox='0 0 322 472' width='322px' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' zoomAndPan='magnify'><defs/><g><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='46' x='16' y='17.1387'>module</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='63' x='26' y='31.1074'>mymodule</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='28' x='36' y='45.0762'>core</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='19' x='46' y='59.0449'>src</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='30' x='56' y='73.0137'>main</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='25' x='66' y='86.9824'>java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='223' x='76' y='100.9512'>org.apache.fineract.mymodule.core</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='29' x='86' y='114.9199'>data</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='75' x='96' y='128.8887'>MyData.java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='44' x='86' y='142.8574'>service</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='90' x='96' y='156.8262'>MyService.java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='74' x='46' y='170.7949'>build.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='133' x='46' y='184.7637'>dependencies.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='44' x='36' y='198.7324'>service</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='19' x='46' y='212.7012'>src</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='30' x='56' y='226.6699'>main</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='25' x='66' y='240.6387'>java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='239' x='76' y='254.6074'>org.apache.fineract.mymodule.service</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='115' x='86' y='268.5762'>MyServiceImpl.java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='74' x='46' y='282.5449'>build.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='133' x='46' y='296.5137'>dependencies.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='43' x='36' y='310.4824'>starter</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='19' x='46' y='324.4512'>src</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='30' x='56' y='338.4199'>main</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='25' x='66' y='352.3887'>java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='238' x='76' y='366.3574'>org.apache.fineract.mymodule.starter</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='158' x='86' y='380.3262'>MyAutoConfiguration.java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='63' x='46' y='394.2949'>resources</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='56' x='56' y='408.2637'>META-INF</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='98' x='66' y='422.2324'>spring.factories</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='74' x='46' y='436.2012'>build.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='133' x='46' y='450.1699'>dependencies.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='74' x='36' y='464.1387'>build.gradle</text><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='9' y='11.9844'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='19' y='25.9531'/><line style='stroke:#888888;stroke-width:1.0;' x1='10' x2='10' y1='14.9844' y2='26.9531'/><line style='stroke:#888888;stroke-width:1.0;' x1='10' x2='18' y1='26.9531' y2='26.9531'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='29' y='39.9219'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='40.9219'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='40.9219' y2='40.9219'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='39' y='53.8906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='54.8906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='54.8906' y2='54.8906'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='49' y='67.8594'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='40' y1='56.8906' y2='68.8594'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='48' y1='68.8594' y2='68.8594'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='59' y='81.8281'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='50' y1='70.8594' y2='82.8281'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='58' y1='82.8281' y2='82.8281'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='69' y='95.7969'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='60' y1='84.8281' y2='96.7969'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='68' y1='96.7969' y2='96.7969'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='79' y='109.7656'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='70' y1='98.7969' y2='110.7656'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='78' y1='110.7656' y2='110.7656'/><line style='stroke:#888888;stroke-width:1.0;' x1='80' x2='80' y1='112.7656' y2='124.7344'/><line style='stroke:#888888;stroke-width:1.0;' x1='80' x2='88' y1='124.7344' y2='124.7344'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='79' y='137.7031'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='70' y1='98.7969' y2='138.7031'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='78' y1='138.7031' y2='138.7031'/><line style='stroke:#888888;stroke-width:1.0;' x1='80' x2='80' y1='140.7031' y2='152.6719'/><line style='stroke:#888888;stroke-width:1.0;' x1='80' x2='88' y1='152.6719' y2='152.6719'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='166.6406'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='166.6406' y2='166.6406'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='180.6094'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='180.6094' y2='180.6094'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='29' y='193.5781'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='194.5781'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='194.5781' y2='194.5781'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='39' y='207.5469'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='196.5781' y2='208.5469'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='208.5469' y2='208.5469'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='49' y='221.5156'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='40' y1='210.5469' y2='222.5156'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='48' y1='222.5156' y2='222.5156'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='59' y='235.4844'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='50' y1='224.5156' y2='236.4844'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='58' y1='236.4844' y2='236.4844'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='69' y='249.4531'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='60' y1='238.4844' y2='250.4531'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='68' y1='250.4531' y2='250.4531'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='70' y1='252.4531' y2='264.4219'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='78' y1='264.4219' y2='264.4219'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='196.5781' y2='278.3906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='278.3906' y2='278.3906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='196.5781' y2='292.3594'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='292.3594' y2='292.3594'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='29' y='305.3281'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='306.3281'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='306.3281' y2='306.3281'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='39' y='319.2969'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='308.3281' y2='320.2969'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='320.2969' y2='320.2969'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='49' y='333.2656'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='40' y1='322.2969' y2='334.2656'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='48' y1='334.2656' y2='334.2656'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='59' y='347.2344'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='50' y1='336.2656' y2='348.2344'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='58' y1='348.2344' y2='348.2344'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='69' y='361.2031'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='60' y1='350.2344' y2='362.2031'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='68' y1='362.2031' y2='362.2031'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='70' y1='364.2031' y2='376.1719'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='78' y1='376.1719' y2='376.1719'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='39' y='389.1406'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='308.3281' y2='390.1406'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='390.1406' y2='390.1406'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='49' y='403.1094'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='40' y1='392.1406' y2='404.1094'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='48' y1='404.1094' y2='404.1094'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='50' y1='406.1094' y2='418.0781'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='58' y1='418.0781' y2='418.0781'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='308.3281' y2='432.0469'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='432.0469' y2='432.0469'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='308.3281' y2='446.0156'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='446.0156' y2='446.0156'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='459.9844'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='459.9844' y2='459.9844'/></g></svg>
\ No newline at end of file
diff --git a/docs/current/images/diag-830eaaa4b3d786adfe7933c969dbd931.svg b/docs/current/images/diag-830eaaa4b3d786adfe7933c969dbd931.svg
index a611534..87bd300 100644
--- a/docs/current/images/diag-830eaaa4b3d786adfe7933c969dbd931.svg
+++ b/docs/current/images/diag-830eaaa4b3d786adfe7933c969dbd931.svg
@@ -1 +1 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg contentScriptType='application/ecmascript' contentStyleType='text/css' height='165px' preserveAspectRatio='none' style='width:315px;height:165px;background:#FFFFFF;' version='1.1' viewBox='0 0 315 165' width='315px' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' zoomAndPan='magnify'><defs/><g><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='45' x='16' y='17.1387'>custom</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='64' x='26' y='31.1074'>mycustom</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='42' x='36' y='45.0762'>service</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='18' x='46' y='59.0449'>src</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='30' x='56' y='73.0137'>main</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='24' x='66' y='86.9824'>java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='232' x='76' y='100.9512'>org.apache.fineract.mymodule.service</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='116' x='86' y='114.9199'>MyServiceImpl.java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='72' x='46' y='128.8887'>build.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='126' x='46' y='142.8574'>dependencies.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='72' x='36' y='156.8262'>build.gradle</text><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='9' y='11.9844'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='19' y='25.9531'/><line style='stroke:#888888;stroke-width:1.0;' x1='10' x2='10' y1='14.9844' y2='26.9531'/><line style='stroke:#888888;stroke-width:1.0;' x1='10' x2='18' y1='26.9531' y2='26.9531'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='29' y='39.9219'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='40.9219'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='40.9219' y2='40.9219'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='39' y='53.8906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='54.8906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='54.8906' y2='54.8906'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='49' y='67.8594'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='40' y1='56.8906' y2='68.8594'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='48' y1='68.8594' y2='68.8594'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='59' y='81.8281'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='50' y1='70.8594' y2='82.8281'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='58' y1='82.8281' y2='82.8281'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='69' y='95.7969'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='60' y1='84.8281' y2='96.7969'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='68' y1='96.7969' y2='96.7969'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='70' y1='98.7969' y2='110.7656'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='78' y1='110.7656' y2='110.7656'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='124.7344'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='124.7344' y2='124.7344'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='138.7031'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='138.7031' y2='138.7031'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='152.6719'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='152.6719' y2='152.6719'/></g></svg>
\ No newline at end of file
+<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg contentScriptType='application/ecmascript' contentStyleType='text/css' height='165px' preserveAspectRatio='none' style='width:322px;height:165px;background:#FFFFFF;' version='1.1' viewBox='0 0 322 165' width='322px' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' zoomAndPan='magnify'><defs/><g><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='46' x='16' y='17.1387'>custom</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='63' x='26' y='31.1074'>mycustom</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='44' x='36' y='45.0762'>service</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='19' x='46' y='59.0449'>src</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='30' x='56' y='73.0137'>main</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='25' x='66' y='86.9824'>java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='239' x='76' y='100.9512'>org.apache.fineract.mymodule.service</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='115' x='86' y='114.9199'>MyServiceImpl.java</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='74' x='46' y='128.8887'>build.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='133' x='46' y='142.8574'>dependencies.gradle</text><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='74' x='36' y='156.8262'>build.gradle</text><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='9' y='11.9844'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='19' y='25.9531'/><line style='stroke:#888888;stroke-width:1.0;' x1='10' x2='10' y1='14.9844' y2='26.9531'/><line style='stroke:#888888;stroke-width:1.0;' x1='10' x2='18' y1='26.9531' y2='26.9531'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='29' y='39.9219'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='40.9219'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='40.9219' y2='40.9219'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='39' y='53.8906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='54.8906'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='54.8906' y2='54.8906'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='49' y='67.8594'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='40' y1='56.8906' y2='68.8594'/><line style='stroke:#888888;stroke-width:1.0;' x1='40' x2='48' y1='68.8594' y2='68.8594'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='59' y='81.8281'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='50' y1='70.8594' y2='82.8281'/><line style='stroke:#888888;stroke-width:1.0;' x1='50' x2='58' y1='82.8281' y2='82.8281'/><rect fill='none' height='2' style='stroke:#888888;stroke-width:1.0;' width='2' x='69' y='95.7969'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='60' y1='84.8281' y2='96.7969'/><line style='stroke:#888888;stroke-width:1.0;' x1='60' x2='68' y1='96.7969' y2='96.7969'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='70' y1='98.7969' y2='110.7656'/><line style='stroke:#888888;stroke-width:1.0;' x1='70' x2='78' y1='110.7656' y2='110.7656'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='124.7344'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='124.7344' y2='124.7344'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='30' y1='42.9219' y2='138.7031'/><line style='stroke:#888888;stroke-width:1.0;' x1='30' x2='38' y1='138.7031' y2='138.7031'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='20' y1='28.9531' y2='152.6719'/><line style='stroke:#888888;stroke-width:1.0;' x1='20' x2='28' y1='152.6719' y2='152.6719'/></g></svg>
\ No newline at end of file
diff --git a/docs/current/images/diag-a0e7c76f817be9bdf34788cd200fc0bd.svg b/docs/current/images/diag-a0e7c76f817be9bdf34788cd200fc0bd.svg
index 8b7e9e9..c9db003 100644
--- a/docs/current/images/diag-a0e7c76f817be9bdf34788cd200fc0bd.svg
+++ b/docs/current/images/diag-a0e7c76f817be9bdf34788cd200fc0bd.svg
@@ -1 +1 @@
-<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg contentScriptType='application/ecmascript' contentStyleType='text/css' height='1569px' preserveAspectRatio='none' style='width:408px;height:1569px;background:#FFFFFF;' version='1.1' viewBox='0 0 408 1569' width='408px' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' zoomAndPan='magnify'><defs><filter height='300%' id='frgv3eir7qf97' width='300%' x='-1' y='-1'><feGaussianBlur result='blurOut' stdDeviation='2.0'/><feColorMatrix in='blurOut' result='blurOut2' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0'/><feOffset dx='4.0' dy='4.0' in='blurOut2' result='blurOut3'/><feBlend in='SourceGraphic' in2='blurOut3' mode='normal'/></filter></defs><g><text fill='#000000' font-family='sans-serif' font-size='18' lengthAdjust='spacing' textLength='223' x='86' y='16.708'>Fineract Release Process</text><ellipse cx='200.5' cy='36.9531' fill='#000000' filter='url(#frgv3eir7qf97)' rx='10' ry='10' style='stroke:none;stroke-width:1.0;'/><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='209' x='96' y='129.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='189' x='106' y='151.0918'>Step 0: Select release manager</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='306' x='47.5' y='204.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='286' x='57.5' y='226.0918'>Step 1: Send heads-up email to dev mailing list</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='149' x='126' y='279.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='129' x='136' y='301.0918'>Step 2: Clean up JIRA</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='211' x='95' y='354.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='191' x='105' y='376.0918'>Step 3: Create a release branch</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='182' x='109.5' y='429.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='162' x='119.5' y='451.0918'>Step 4: Freeze JIRA version</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='310' x='45.5' y='504.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='290' x='55.5' y='526.0918'>Continue with development on 'develop' branch</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='177' x='112' y='592.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='157' x='122' y='614.0918'>Step 5: Create release tag</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='191' x='105' y='667.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='171' x='115' y='689.0918'>Step 6: Create a distribution</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='245' x='78' y='742.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='225' x='88' y='764.0918'>Step 7: Sign the distribution artifacts</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='382' x='9.5' y='817.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='362' x='19.5' y='839.0918'>Step 8: Upload distribution artifacts to staging environment</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='320' x='40.5' y='892.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='300' x='50.5' y='914.0918'>Step 9: Verify distribution in staging environment</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='286' x='57.5' y='967.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='266' x='67.5' y='989.0918'>Step 10: Start voting on the dev mailing list</text><polygon fill='#FEFECE' filter='url(#frgv3eir7qf97)' points='200.5,1042.9531,212.5,1054.9531,200.5,1066.9531,188.5,1054.9531,200.5,1042.9531' style='stroke:#A80036;stroke-width:1.5;'/><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='321' x='40' y='1120.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='301' x='50' y='1142.0918'>Step 11: Conclude the vote and announce results</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='387' x='7' y='1195.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='367' x='17' y='1217.0918'>Step 12: Upload distribution artifacts to release environment</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='343' x='29' y='1270.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='323' x='39' y='1292.0918'>Step 13: Close release branch and merge to 'develop'</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='297' x='52' y='1345.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='277' x='62' y='1367.0918'>Step 14: Update website (not yet automated)</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='324' x='38.5' y='1420.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='304' x='48.5' y='1442.0918'>Step 15: Send email to announcement mailing list</text><ellipse cx='200.5' cy='1547.9531' filter='url(#frgv3eir7qf97)' rx='10' ry='10' style='stroke:#000000;stroke-width:1.0;fill:none;'/><ellipse cx='201' cy='1548.4531' fill='#000000' rx='6' ry='6' style='stroke:none;stroke-width:1.0;'/><path d='M200.5,47.1631 C200.5,64.2331 200.5,101.2031 200.5,124.7531 ' fill='none' id='start-to-Step 0: Select release manager' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,129.8531,204.5,120.8531,200.5,124.8531,196.5,120.8531,200.5,129.8531' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,164.1531 C200.5,174.6431 200.5,188.4131 200.5,199.7731 ' fill='none' id='Step 0: Select release manager-to-Step 1: Send heads-up email to dev mailing list' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,204.7931,204.5,195.7931,200.5,199.7931,196.5,195.7931,200.5,204.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,239.1531 C200.5,249.6431 200.5,263.4131 200.5,274.7731 ' fill='none' id='Step 1: Send heads-up email to dev mailing list-to-Step 2: Clean up JIRA' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,279.7931,204.5,270.7931,200.5,274.7931,196.5,270.7931,200.5,279.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,314.1531 C200.5,324.6431 200.5,338.4131 200.5,349.7731 ' fill='none' id='Step 2: Clean up JIRA-to-Step 3: Create a release branch' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,354.7931,204.5,345.7931,200.5,349.7931,196.5,345.7931,200.5,354.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,389.1531 C200.5,399.6431 200.5,413.4131 200.5,424.7731 ' fill='none' id='Step 3: Create a release branch-to-Step 4: Freeze JIRA version' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,429.7931,204.5,420.7931,200.5,424.7931,196.5,420.7931,200.5,429.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,464.1531 C200.5,474.6431 200.5,488.4131 200.5,499.7731 ' fill='none' id='Step 4: Freeze JIRA version-to-Continue with development on &apos;develop&apos; branch' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,504.7931,204.5,495.7931,200.5,499.7931,196.5,495.7931,200.5,504.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,539.1331 C200.5,552.8231 200.5,572.5631 200.5,587.5631 ' fill='none' id='Continue with development on &apos;develop&apos; branch-to-Step 5: Create release tag' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,592.8531,204.5,583.8531,200.5,587.8531,196.5,583.8531,200.5,592.8531' style='stroke:#A80036;stroke-width:1.0;'/><text fill='#000000' font-family='sans-serif' font-size='11' lengthAdjust='spacing' textLength='57' x='201.5' y='570.1636'>1-2 weeks</text><path d='M200.5,627.1531 C200.5,637.6431 200.5,651.4131 200.5,662.7731 ' fill='none' id='Step 5: Create release tag-to-Step 6: Create a distribution' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,667.7931,204.5,658.7931,200.5,662.7931,196.5,658.7931,200.5,667.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,702.1531 C200.5,712.6431 200.5,726.4131 200.5,737.7731 ' fill='none' id='Step 6: Create a distribution-to-Step 7: Sign the distribution artifacts' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,742.7931,204.5,733.7931,200.5,737.7931,196.5,733.7931,200.5,742.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,777.1531 C200.5,787.6431 200.5,801.4131 200.5,812.7731 ' fill='none' id='Step 7: Sign the distribution artifacts-to-Step 8: Upload distribution artifacts to staging environment' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,817.7931,204.5,808.7931,200.5,812.7931,196.5,808.7931,200.5,817.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,852.1531 C200.5,862.6431 200.5,876.4131 200.5,887.7731 ' fill='none' id='Step 8: Upload distribution artifacts to staging environment-to-Step 9: Verify distribution in staging environment' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,892.7931,204.5,883.7931,200.5,887.7931,196.5,883.7931,200.5,892.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,927.1531 C200.5,937.6431 200.5,951.4131 200.5,962.7731 ' fill='none' id='Step 9: Verify distribution in staging environment-to-Step 10: Start voting on the dev mailing list' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,967.7931,204.5,958.7931,200.5,962.7931,196.5,958.7931,200.5,967.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,1002.0731 C200.5,1012.8731 200.5,1027.0331 200.5,1037.8331 ' fill='none' id='Step 10: Start voting on the dev mailing list-to-#67' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,1042.8431,204.5,1033.8431,200.5,1037.8431,196.5,1033.8431,200.5,1042.8431' style='stroke:#A80036;stroke-width:1.0;'/><text fill='#000000' font-family='sans-serif' font-size='11' lengthAdjust='spacing' textLength='142' x='38.5313' y='1036.0733'>72 hours or 3 yes votes?</text><path d='M200.5,1067.2131 C200.5,1079.7131 200.5,1100.1631 200.5,1115.6931 ' fill='none' id='#67-to-Step 11: Conclude the vote and announce results' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,1120.7531,204.5,1111.7531,200.5,1115.7531,196.5,1111.7531,200.5,1120.7531' style='stroke:#A80036;stroke-width:1.0;'/><text fill='#000000' font-family='sans-serif' font-size='11' lengthAdjust='spacing' textLength='20' x='201.5' y='1098.1636'>yes</text><path d='M200.5,1155.1531 C200.5,1165.6431 200.5,1179.4131 200.5,1190.7731 ' fill='none' id='Step 11: Conclude the vote and announce results-to-Step 12: Upload distribution artifacts to release environment' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,1195.7931,204.5,1186.7931,200.5,1190.7931,196.5,1186.7931,200.5,1195.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,1230.1531 C200.5,1240.6431 200.5,1254.4131 200.5,1265.7731 ' fill='none' id='Step 12: Upload distribution artifacts to release environment-to-Step 13: Close release branch and merge to &apos;develop&apos;' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,1270.7931,204.5,1261.7931,200.5,1265.7931,196.5,1261.7931,200.5,1270.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,1305.1531 C200.5,1315.6431 200.5,1329.4131 200.5,1340.7731 ' fill='none' id='Step 13: Close release branch and merge to &apos;develop&apos;-to-Step 14: Update website (not yet automated)' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,1345.7931,204.5,1336.7931,200.5,1340.7931,196.5,1336.7931,200.5,1345.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,1380.1531 C200.5,1390.6431 200.5,1404.4131 200.5,1415.7731 ' fill='none' id='Step 14: Update website (not yet automated)-to-Step 15: Send email to announcement mailing list' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,1420.7931,204.5,1411.7931,200.5,1415.7931,196.5,1411.7931,200.5,1420.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M200.5,1455.3531 C200.5,1476.3931 200.5,1512.5431 200.5,1532.5531 ' fill='none' id='Step 15: Send email to announcement mailing list-to-end' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='200.5,1537.7531,204.5,1528.7531,200.5,1532.7531,196.5,1528.7531,200.5,1537.7531' style='stroke:#A80036;stroke-width:1.0;'/></g></svg>
\ No newline at end of file
+<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg contentScriptType='application/ecmascript' contentStyleType='text/css' height='1569px' preserveAspectRatio='none' style='width:423px;height:1569px;background:#FFFFFF;' version='1.1' viewBox='0 0 423 1569' width='423px' xmlns:xlink='http://www.w3.org/1999/xlink' xmlns='http://www.w3.org/2000/svg' zoomAndPan='magnify'><defs><filter height='300%' id='frgv3eir7qf97' width='300%' x='-1' y='-1'><feGaussianBlur result='blurOut' stdDeviation='2.0'/><feColorMatrix in='blurOut' result='blurOut2' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0'/><feOffset dx='4.0' dy='4.0' in='blurOut2' result='blurOut3'/><feBlend in='SourceGraphic' in2='blurOut3' mode='normal'/></filter></defs><g><text fill='#000000' font-family='sans-serif' font-size='18' lengthAdjust='spacing' textLength='218' x='96' y='16.708'>Fineract Release Process</text><ellipse cx='208' cy='36.9531' fill='#000000' filter='url(#frgv3eir7qf97)' rx='10' ry='10' style='stroke:none;stroke-width:1.0;'/><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='219' x='98.5' y='129.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='199' x='108.5' y='151.0918'>Step 0: Select release manager</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='314' x='51' y='204.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='294' x='61' y='226.0918'>Step 1: Send heads-up email to dev mailing list</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='150' x='133' y='279.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='130' x='143' y='301.0918'>Step 2: Clean up JIRA</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='222' x='97' y='354.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='202' x='107' y='376.0918'>Step 3: Create a release branch</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='185' x='115.5' y='429.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='165' x='125.5' y='451.0918'>Step 4: Freeze JIRA version</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='317' x='49.5' y='504.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='297' x='59.5' y='526.0918'>Continue with development on 'develop' branch</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='187' x='114.5' y='592.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='167' x='124.5' y='614.0918'>Step 5: Create release tag</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='198' x='109' y='667.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='178' x='119' y='689.0918'>Step 6: Create a distribution</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='252' x='82' y='742.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='232' x='92' y='764.0918'>Step 7: Sign the distribution artifacts</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='394' x='11' y='817.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='374' x='21' y='839.0918'>Step 8: Upload distribution artifacts to staging environment</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='326' x='45' y='892.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='306' x='55' y='914.0918'>Step 9: Verify distribution in staging environment</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='291' x='62.5' y='967.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='271' x='72.5' y='989.0918'>Step 10: Start voting on the dev mailing list</text><polygon fill='#FEFECE' filter='url(#frgv3eir7qf97)' points='208,1042.9531,220,1054.9531,208,1066.9531,196,1054.9531,208,1042.9531' style='stroke:#A80036;stroke-width:1.5;'/><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='333' x='41.5' y='1120.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='313' x='51.5' y='1142.0918'>Step 11: Conclude the vote and announce results</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='402' x='7' y='1195.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='382' x='17' y='1217.0918'>Step 12: Upload distribution artifacts to release environment</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='358' x='29' y='1270.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='338' x='39' y='1292.0918'>Step 13: Close release branch and merge to 'develop'</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='306' x='55' y='1345.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='286' x='65' y='1367.0918'>Step 14: Update website (not yet automated)</text><rect fill='#FEFECE' filter='url(#frgv3eir7qf97)' height='33.9688' rx='12.5' ry='12.5' style='stroke:#A80036;stroke-width:1.5;' width='332' x='42' y='1420.9531'/><text fill='#000000' font-family='sans-serif' font-size='12' lengthAdjust='spacing' textLength='312' x='52' y='1442.0918'>Step 15: Send email to announcement mailing list</text><ellipse cx='208' cy='1547.9531' filter='url(#frgv3eir7qf97)' rx='10' ry='10' style='stroke:#000000;stroke-width:1.0;fill:none;'/><ellipse cx='208.5' cy='1548.4531' fill='#000000' rx='6' ry='6' style='stroke:none;stroke-width:1.0;'/><path d='M208,47.1631 C208,64.2331 208,101.2031 208,124.7531 ' fill='none' id='start-to-Step 0: Select release manager' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,129.8531,212,120.8531,208,124.8531,204,120.8531,208,129.8531' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,164.1531 C208,174.6431 208,188.4131 208,199.7731 ' fill='none' id='Step 0: Select release manager-to-Step 1: Send heads-up email to dev mailing list' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,204.7931,212,195.7931,208,199.7931,204,195.7931,208,204.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,239.1531 C208,249.6431 208,263.4131 208,274.7731 ' fill='none' id='Step 1: Send heads-up email to dev mailing list-to-Step 2: Clean up JIRA' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,279.7931,212,270.7931,208,274.7931,204,270.7931,208,279.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,314.1531 C208,324.6431 208,338.4131 208,349.7731 ' fill='none' id='Step 2: Clean up JIRA-to-Step 3: Create a release branch' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,354.7931,212,345.7931,208,349.7931,204,345.7931,208,354.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,389.1531 C208,399.6431 208,413.4131 208,424.7731 ' fill='none' id='Step 3: Create a release branch-to-Step 4: Freeze JIRA version' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,429.7931,212,420.7931,208,424.7931,204,420.7931,208,429.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,464.1531 C208,474.6431 208,488.4131 208,499.7731 ' fill='none' id='Step 4: Freeze JIRA version-to-Continue with development on &apos;develop&apos; branch' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,504.7931,212,495.7931,208,499.7931,204,495.7931,208,504.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,539.1331 C208,552.8231 208,572.5631 208,587.5631 ' fill='none' id='Continue with development on &apos;develop&apos; branch-to-Step 5: Create release tag' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,592.8531,212,583.8531,208,587.8531,204,583.8531,208,592.8531' style='stroke:#A80036;stroke-width:1.0;'/><text fill='#000000' font-family='sans-serif' font-size='11' lengthAdjust='spacing' textLength='58' x='209' y='570.1636'>1-2 weeks</text><path d='M208,627.1531 C208,637.6431 208,651.4131 208,662.7731 ' fill='none' id='Step 5: Create release tag-to-Step 6: Create a distribution' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,667.7931,212,658.7931,208,662.7931,204,658.7931,208,667.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,702.1531 C208,712.6431 208,726.4131 208,737.7731 ' fill='none' id='Step 6: Create a distribution-to-Step 7: Sign the distribution artifacts' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,742.7931,212,733.7931,208,737.7931,204,733.7931,208,742.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,777.1531 C208,787.6431 208,801.4131 208,812.7731 ' fill='none' id='Step 7: Sign the distribution artifacts-to-Step 8: Upload distribution artifacts to staging environment' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,817.7931,212,808.7931,208,812.7931,204,808.7931,208,817.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,852.1531 C208,862.6431 208,876.4131 208,887.7731 ' fill='none' id='Step 8: Upload distribution artifacts to staging environment-to-Step 9: Verify distribution in staging environment' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,892.7931,212,883.7931,208,887.7931,204,883.7931,208,892.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,927.1531 C208,937.6431 208,951.4131 208,962.7731 ' fill='none' id='Step 9: Verify distribution in staging environment-to-Step 10: Start voting on the dev mailing list' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,967.7931,212,958.7931,208,962.7931,204,958.7931,208,967.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,1002.0731 C208,1012.8731 208,1027.0331 208,1037.8331 ' fill='none' id='Step 10: Start voting on the dev mailing list-to-#67' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,1042.8431,212,1033.8431,208,1037.8431,204,1033.8431,208,1042.8431' style='stroke:#A80036;stroke-width:1.0;'/><text fill='#000000' font-family='sans-serif' font-size='11' lengthAdjust='spacing' textLength='143' x='44.8906' y='1036.0733'>72 hours or 3 yes votes?</text><path d='M208,1067.2131 C208,1079.7131 208,1100.1631 208,1115.6931 ' fill='none' id='#67-to-Step 11: Conclude the vote and announce results' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,1120.7531,212,1111.7531,208,1115.7531,204,1111.7531,208,1120.7531' style='stroke:#A80036;stroke-width:1.0;'/><text fill='#000000' font-family='sans-serif' font-size='11' lengthAdjust='spacing' textLength='20' x='209' y='1098.1636'>yes</text><path d='M208,1155.1531 C208,1165.6431 208,1179.4131 208,1190.7731 ' fill='none' id='Step 11: Conclude the vote and announce results-to-Step 12: Upload distribution artifacts to release environment' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,1195.7931,212,1186.7931,208,1190.7931,204,1186.7931,208,1195.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,1230.1531 C208,1240.6431 208,1254.4131 208,1265.7731 ' fill='none' id='Step 12: Upload distribution artifacts to release environment-to-Step 13: Close release branch and merge to &apos;develop&apos;' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,1270.7931,212,1261.7931,208,1265.7931,204,1261.7931,208,1270.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,1305.1531 C208,1315.6431 208,1329.4131 208,1340.7731 ' fill='none' id='Step 13: Close release branch and merge to &apos;develop&apos;-to-Step 14: Update website (not yet automated)' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,1345.7931,212,1336.7931,208,1340.7931,204,1336.7931,208,1345.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,1380.1531 C208,1390.6431 208,1404.4131 208,1415.7731 ' fill='none' id='Step 14: Update website (not yet automated)-to-Step 15: Send email to announcement mailing list' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,1420.7931,212,1411.7931,208,1415.7931,204,1411.7931,208,1420.7931' style='stroke:#A80036;stroke-width:1.0;'/><path d='M208,1455.3531 C208,1476.3931 208,1512.5431 208,1532.5531 ' fill='none' id='Step 15: Send email to announcement mailing list-to-end' style='stroke:#A80036;stroke-width:1.0;'/><polygon fill='#A80036' points='208,1537.7531,212,1528.7531,208,1532.7531,204,1528.7531,208,1537.7531' style='stroke:#A80036;stroke-width:1.0;'/></g></svg>
\ No newline at end of file
diff --git a/docs/current/index.html b/docs/current/index.html
index 3a41b94..9299651 100644
--- a/docs/current/index.html
+++ b/docs/current/index.html
@@ -530,7 +530,7 @@
 <div id="header">
 <h1>Fineract Platform Documentation</h1>
 <div class="details">
-<span id="revnumber">version 1.6.1-f6e9b993</span>
+<span id="revnumber">version 1.7.0</span>
 </div>
 <div id="toc" class="toc2">
 <div id="toctitle">Table of Contents</div>
@@ -587,18 +587,6 @@
 <li><a href="#_oauth">OAuth</a></li>
 </ul>
 </li>
-<li><a href="#_apache_fineract_rest_api">Apache Fineract REST API</a>
-<ul class="sectlevel2">
-<li><a href="#_access">Access</a></li>
-<li><a href="#_endpoints">Endpoints</a></li>
-<li><a href="#models">Models</a></li>
-</ul>
-</li>
-<li><a href="#_fineract_sdks">Fineract SDKs</a>
-<ul class="sectlevel2">
-<li><a href="#_generate_apache_fineract_api_client">Generate Apache Fineract API Client</a></li>
-</ul>
-</li>
 <li><a href="#_testing_2">Testing</a>
 <ul class="sectlevel2">
 <li><a href="#testing-cucumber">Cucumber</a></li>
@@ -619,6 +607,19 @@
 <ul class="sectlevel2">
 <li><a href="#_configuration">Configuration</a></li>
 <li><a href="#_release_process">Release Process</a></li>
+<li><a href="#_publish_release_artifacts">Publish Release Artifacts</a></li>
+</ul>
+</li>
+<li><a href="#_fineract_sdks">Fineract SDKs</a>
+<ul class="sectlevel2">
+<li><a href="#_generate_apache_fineract_api_client">Generate Apache Fineract API Client</a></li>
+</ul>
+</li>
+<li><a href="#_apache_fineract_rest_api">Apache Fineract REST API</a>
+<ul class="sectlevel2">
+<li><a href="#_access">Access</a></li>
+<li><a href="#_endpoints">Endpoints</a></li>
+<li><a href="#models">Models</a></li>
 </ul>
 </li>
 <li><a href="#_frequently_asked_questions">Frequently Asked Questions</a></li>
@@ -675,10 +676,10 @@
 Email: <a href="mailto:dev@fineract.apache.org">dev@fineract.apache.org</a></p>
 </div>
 <div class="paragraph">
-<p><strong>Version</strong>: 1.6.1-f6e9b993</p>
+<p><strong>Version</strong>: 1.7.0</p>
 </div>
 <div class="paragraph">
-<p><strong>Date</strong>: 2022-05-09</p>
+<p><strong>Date</strong>: 2022-05-11</p>
 </div>
 <table class="tableblock frame-all grid-all stripes-even stretch">
 <caption class="title">Table 1. Authors</caption>
@@ -1859,7 +1860,7 @@
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnIHN0YW5kYWxvbmU9J25vJz8+PHN2ZyBjb250ZW50U2NyaXB0VHlwZT0nYXBwbGljYXRpb24vZWNtYXNjcmlwdCcgY29udGVudFN0eWxlVHlwZT0ndGV4dC9jc3MnIGhlaWdodD0nNDcycHgnIHByZXNlcnZlQXNwZWN0UmF0aW89J25vbmUnIHN0eWxlPSd3aWR0aDozMTVweDtoZWlnaHQ6NDcycHg7YmFja2dyb3VuZDojRkZGRkZGOycgdmVyc2lvbj0nMS4xJyB2aWV3Qm94PScwIDAgMzE1IDQ3Micgd2lkdGg9JzMxNXB4JyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB6b29tQW5kUGFuPSdtYWduaWZ5Jz48ZGVmcy8+PGc+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNDUnIHg9JzE2JyB5PScxNy4xMzg3Jz5tb2R1bGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNjQnIHg9JzI2JyB5PSczMS4xMDc0Jz5teW1vZHVsZTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyNicgeD0nMzYnIHk9JzQ1LjA3NjInPmNvcmU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTgnIHg9JzQ2JyB5PSc1OS4wNDQ5Jz5zcmM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzAnIHg9JzU2JyB5PSc3My4wMTM3Jz5tYWluPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzI0JyB4PSc2NicgeT0nODYuOTgyNCc+amF2YTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyMTYnIHg9Jzc2JyB5PScxMDAuOTUxMic+b3JnLmFwYWNoZS5maW5lcmFjdC5teW1vZHVsZS5jb3JlPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzI3JyB4PSc4NicgeT0nMTE0LjkxOTknPmRhdGE8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNzMnIHg9Jzk2JyB5PScxMjguODg4Nyc+TXlEYXRhLmphdmE8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNDInIHg9Jzg2JyB5PScxNDIuODU3NCc+c2VydmljZTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc4OScgeD0nOTYnIHk9JzE1Ni44MjYyJz5NeVNlcnZpY2UuamF2YTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc3MicgeD0nNDYnIHk9JzE3MC43OTQ5Jz5idWlsZC5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTI2JyB4PSc0NicgeT0nMTg0Ljc2MzcnPmRlcGVuZGVuY2llcy5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNDInIHg9JzM2JyB5PScxOTguNzMyNCc+c2VydmljZTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxOCcgeD0nNDYnIHk9JzIxMi43MDEyJz5zcmM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzAnIHg9JzU2JyB5PScyMjYuNjY5OSc+bWFpbjwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyNCcgeD0nNjYnIHk9JzI0MC42Mzg3Jz5qYXZhPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzIzMicgeD0nNzYnIHk9JzI1NC42MDc0Jz5vcmcuYXBhY2hlLmZpbmVyYWN0Lm15bW9kdWxlLnNlcnZpY2U8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTE2JyB4PSc4NicgeT0nMjY4LjU3NjInPk15U2VydmljZUltcGwuamF2YTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc3MicgeD0nNDYnIHk9JzI4Mi41NDQ5Jz5idWlsZC5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTI2JyB4PSc0NicgeT0nMjk2LjUxMzcnPmRlcGVuZGVuY2llcy5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNDAnIHg9JzM2JyB5PSczMTAuNDgyNCc+c3RhcnRlcjwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxOCcgeD0nNDYnIHk9JzMyNC40NTEyJz5zcmM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzAnIHg9JzU2JyB5PSczMzguNDE5OSc+bWFpbjwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyNCcgeD0nNjYnIHk9JzM1Mi4zODg3Jz5qYXZhPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzIzMCcgeD0nNzYnIHk9JzM2Ni4zNTc0Jz5vcmcuYXBhY2hlLmZpbmVyYWN0Lm15bW9kdWxlLnN0YXJ0ZXI8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTU0JyB4PSc4NicgeT0nMzgwLjMyNjInPk15QXV0b0NvbmZpZ3VyYXRpb24uamF2YTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc1OCcgeD0nNDYnIHk9JzM5NC4yOTQ5Jz5yZXNvdXJjZXM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNTcnIHg9JzU2JyB5PSc0MDguMjYzNyc+TUVUQS1JTkY8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nOTMnIHg9JzY2JyB5PSc0MjIuMjMyNCc+c3ByaW5nLmZhY3RvcmllczwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc3MicgeD0nNDYnIHk9JzQzNi4yMDEyJz5idWlsZC5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTI2JyB4PSc0NicgeT0nNDUwLjE2OTknPmRlcGVuZGVuY2llcy5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNzInIHg9JzM2JyB5PSc0NjQuMTM4Nyc+YnVpbGQuZ3JhZGxlPC90ZXh0PjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nOScgeT0nMTEuOTg0NCcvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nMTknIHk9JzI1Ljk1MzEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMCcgeDI9JzEwJyB5MT0nMTQuOTg0NCcgeTI9JzI2Ljk1MzEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMCcgeDI9JzE4JyB5MT0nMjYuOTUzMScgeTI9JzI2Ljk1MzEnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzI5JyB5PSczOS45MjE5Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyMCcgeTE9JzI4Ljk1MzEnIHkyPSc0MC45MjE5Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyOCcgeTE9JzQwLjkyMTknIHkyPSc0MC45MjE5Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSczOScgeT0nNTMuODkwNicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPSc0Mi45MjE5JyB5Mj0nNTQuODkwNicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzgnIHkxPSc1NC44OTA2JyB5Mj0nNTQuODkwNicvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nNDknIHk9JzY3Ljg1OTQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc0MCcgeDI9JzQwJyB5MT0nNTYuODkwNicgeTI9JzY4Ljg1OTQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc0MCcgeDI9JzQ4JyB5MT0nNjguODU5NCcgeTI9JzY4Ljg1OTQnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzU5JyB5PSc4MS44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNTAnIHgyPSc1MCcgeTE9JzcwLjg1OTQnIHkyPSc4Mi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNTAnIHgyPSc1OCcgeTE9JzgyLjgyODEnIHkyPSc4Mi44MjgxJy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc2OScgeT0nOTUuNzk2OScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzYwJyB4Mj0nNjAnIHkxPSc4NC44MjgxJyB5Mj0nOTYuNzk2OScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzYwJyB4Mj0nNjgnIHkxPSc5Ni43OTY5JyB5Mj0nOTYuNzk2OScvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nNzknIHk9JzEwOS43NjU2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNzAnIHgyPSc3MCcgeTE9Jzk4Ljc5NjknIHkyPScxMTAuNzY1NicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzcwJyB4Mj0nNzgnIHkxPScxMTAuNzY1NicgeTI9JzExMC43NjU2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nODAnIHgyPSc4MCcgeTE9JzExMi43NjU2JyB5Mj0nMTI0LjczNDQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc4MCcgeDI9Jzg4JyB5MT0nMTI0LjczNDQnIHkyPScxMjQuNzM0NCcvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nNzknIHk9JzEzNy43MDMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNzAnIHgyPSc3MCcgeTE9Jzk4Ljc5NjknIHkyPScxMzguNzAzMScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzcwJyB4Mj0nNzgnIHkxPScxMzguNzAzMScgeTI9JzEzOC43MDMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nODAnIHgyPSc4MCcgeTE9JzE0MC43MDMxJyB5Mj0nMTUyLjY3MTknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc4MCcgeDI9Jzg4JyB5MT0nMTUyLjY3MTknIHkyPScxNTIuNjcxOScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPSc0Mi45MjE5JyB5Mj0nMTY2LjY0MDYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzM4JyB5MT0nMTY2LjY0MDYnIHkyPScxNjYuNjQwNicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPSc0Mi45MjE5JyB5Mj0nMTgwLjYwOTQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzM4JyB5MT0nMTgwLjYwOTQnIHkyPScxODAuNjA5NCcvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nMjknIHk9JzE5My41NzgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyMCcgeTE9JzI4Ljk1MzEnIHkyPScxOTQuNTc4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIwJyB4Mj0nMjgnIHkxPScxOTQuNTc4MScgeTI9JzE5NC41NzgxJy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSczOScgeT0nMjA3LjU0NjknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nMTk2LjU3ODEnIHkyPScyMDguNTQ2OScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzgnIHkxPScyMDguNTQ2OScgeTI9JzIwOC41NDY5Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc0OScgeT0nMjIxLjUxNTYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc0MCcgeDI9JzQwJyB5MT0nMjEwLjU0NjknIHkyPScyMjIuNTE1NicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzQwJyB4Mj0nNDgnIHkxPScyMjIuNTE1NicgeTI9JzIyMi41MTU2Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc1OScgeT0nMjM1LjQ4NDQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc1MCcgeDI9JzUwJyB5MT0nMjI0LjUxNTYnIHkyPScyMzYuNDg0NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzUwJyB4Mj0nNTgnIHkxPScyMzYuNDg0NCcgeTI9JzIzNi40ODQ0Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc2OScgeT0nMjQ5LjQ1MzEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc2MCcgeDI9JzYwJyB5MT0nMjM4LjQ4NDQnIHkyPScyNTAuNDUzMScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzYwJyB4Mj0nNjgnIHkxPScyNTAuNDUzMScgeTI9JzI1MC40NTMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNzAnIHgyPSc3MCcgeTE9JzI1Mi40NTMxJyB5Mj0nMjY0LjQyMTknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc3MCcgeDI9Jzc4JyB5MT0nMjY0LjQyMTknIHkyPScyNjQuNDIxOScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPScxOTYuNTc4MScgeTI9JzI3OC4zOTA2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzAnIHgyPSczOCcgeTE9JzI3OC4zOTA2JyB5Mj0nMjc4LjM5MDYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nMTk2LjU3ODEnIHkyPScyOTIuMzU5NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzgnIHkxPScyOTIuMzU5NCcgeTI9JzI5Mi4zNTk0Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PScyOScgeT0nMzA1LjMyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMCcgeDI9JzIwJyB5MT0nMjguOTUzMScgeTI9JzMwNi4zMjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyOCcgeTE9JzMwNi4zMjgxJyB5Mj0nMzA2LjMyODEnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzM5JyB5PSczMTkuMjk2OScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPSczMDguMzI4MScgeTI9JzMyMC4yOTY5Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzAnIHgyPSczOCcgeTE9JzMyMC4yOTY5JyB5Mj0nMzIwLjI5NjknLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzQ5JyB5PSczMzMuMjY1NicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzQwJyB4Mj0nNDAnIHkxPSczMjIuMjk2OScgeTI9JzMzNC4yNjU2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNDAnIHgyPSc0OCcgeTE9JzMzNC4yNjU2JyB5Mj0nMzM0LjI2NTYnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzU5JyB5PSczNDcuMjM0NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzUwJyB4Mj0nNTAnIHkxPSczMzYuMjY1NicgeTI9JzM0OC4yMzQ0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNTAnIHgyPSc1OCcgeTE9JzM0OC4yMzQ0JyB5Mj0nMzQ4LjIzNDQnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzY5JyB5PSczNjEuMjAzMScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzYwJyB4Mj0nNjAnIHkxPSczNTAuMjM0NCcgeTI9JzM2Mi4yMDMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNjAnIHgyPSc2OCcgeTE9JzM2Mi4yMDMxJyB5Mj0nMzYyLjIwMzEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc3MCcgeDI9JzcwJyB5MT0nMzY0LjIwMzEnIHkyPSczNzYuMTcxOScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzcwJyB4Mj0nNzgnIHkxPSczNzYuMTcxOScgeTI9JzM3Ni4xNzE5Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSczOScgeT0nMzg5LjE0MDYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nMzA4LjMyODEnIHkyPSczOTAuMTQwNicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzgnIHkxPSczOTAuMTQwNicgeTI9JzM5MC4xNDA2Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc0OScgeT0nNDAzLjEwOTQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc0MCcgeDI9JzQwJyB5MT0nMzkyLjE0MDYnIHkyPSc0MDQuMTA5NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzQwJyB4Mj0nNDgnIHkxPSc0MDQuMTA5NCcgeTI9JzQwNC4xMDk0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNTAnIHgyPSc1MCcgeTE9JzQwNi4xMDk0JyB5Mj0nNDE4LjA3ODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc1MCcgeDI9JzU4JyB5MT0nNDE4LjA3ODEnIHkyPSc0MTguMDc4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPSczMDguMzI4MScgeTI9JzQzMi4wNDY5Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzAnIHgyPSczOCcgeTE9JzQzMi4wNDY5JyB5Mj0nNDMyLjA0NjknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nMzA4LjMyODEnIHkyPSc0NDYuMDE1NicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzgnIHkxPSc0NDYuMDE1NicgeTI9JzQ0Ni4wMTU2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyMCcgeTE9JzI4Ljk1MzEnIHkyPSc0NTkuOTg0NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIwJyB4Mj0nMjgnIHkxPSc0NTkuOTg0NCcgeTI9JzQ1OS45ODQ0Jy8+PC9nPjwvc3ZnPg==" alt="Diagram" width="322" height="472">
+<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnIHN0YW5kYWxvbmU9J25vJz8+PHN2ZyBjb250ZW50U2NyaXB0VHlwZT0nYXBwbGljYXRpb24vZWNtYXNjcmlwdCcgY29udGVudFN0eWxlVHlwZT0ndGV4dC9jc3MnIGhlaWdodD0nNDcycHgnIHByZXNlcnZlQXNwZWN0UmF0aW89J25vbmUnIHN0eWxlPSd3aWR0aDozMjJweDtoZWlnaHQ6NDcycHg7YmFja2dyb3VuZDojRkZGRkZGOycgdmVyc2lvbj0nMS4xJyB2aWV3Qm94PScwIDAgMzIyIDQ3Micgd2lkdGg9JzMyMnB4JyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB6b29tQW5kUGFuPSdtYWduaWZ5Jz48ZGVmcy8+PGc+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNDYnIHg9JzE2JyB5PScxNy4xMzg3Jz5tb2R1bGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNjMnIHg9JzI2JyB5PSczMS4xMDc0Jz5teW1vZHVsZTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyOCcgeD0nMzYnIHk9JzQ1LjA3NjInPmNvcmU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTknIHg9JzQ2JyB5PSc1OS4wNDQ5Jz5zcmM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzAnIHg9JzU2JyB5PSc3My4wMTM3Jz5tYWluPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzI1JyB4PSc2NicgeT0nODYuOTgyNCc+amF2YTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyMjMnIHg9Jzc2JyB5PScxMDAuOTUxMic+b3JnLmFwYWNoZS5maW5lcmFjdC5teW1vZHVsZS5jb3JlPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzI5JyB4PSc4NicgeT0nMTE0LjkxOTknPmRhdGE8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNzUnIHg9Jzk2JyB5PScxMjguODg4Nyc+TXlEYXRhLmphdmE8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNDQnIHg9Jzg2JyB5PScxNDIuODU3NCc+c2VydmljZTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc5MCcgeD0nOTYnIHk9JzE1Ni44MjYyJz5NeVNlcnZpY2UuamF2YTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc3NCcgeD0nNDYnIHk9JzE3MC43OTQ5Jz5idWlsZC5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTMzJyB4PSc0NicgeT0nMTg0Ljc2MzcnPmRlcGVuZGVuY2llcy5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNDQnIHg9JzM2JyB5PScxOTguNzMyNCc+c2VydmljZTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxOScgeD0nNDYnIHk9JzIxMi43MDEyJz5zcmM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzAnIHg9JzU2JyB5PScyMjYuNjY5OSc+bWFpbjwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyNScgeD0nNjYnIHk9JzI0MC42Mzg3Jz5qYXZhPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzIzOScgeD0nNzYnIHk9JzI1NC42MDc0Jz5vcmcuYXBhY2hlLmZpbmVyYWN0Lm15bW9kdWxlLnNlcnZpY2U8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTE1JyB4PSc4NicgeT0nMjY4LjU3NjInPk15U2VydmljZUltcGwuamF2YTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc3NCcgeD0nNDYnIHk9JzI4Mi41NDQ5Jz5idWlsZC5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTMzJyB4PSc0NicgeT0nMjk2LjUxMzcnPmRlcGVuZGVuY2llcy5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNDMnIHg9JzM2JyB5PSczMTAuNDgyNCc+c3RhcnRlcjwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxOScgeD0nNDYnIHk9JzMyNC40NTEyJz5zcmM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzAnIHg9JzU2JyB5PSczMzguNDE5OSc+bWFpbjwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyNScgeD0nNjYnIHk9JzM1Mi4zODg3Jz5qYXZhPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzIzOCcgeD0nNzYnIHk9JzM2Ni4zNTc0Jz5vcmcuYXBhY2hlLmZpbmVyYWN0Lm15bW9kdWxlLnN0YXJ0ZXI8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTU4JyB4PSc4NicgeT0nMzgwLjMyNjInPk15QXV0b0NvbmZpZ3VyYXRpb24uamF2YTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2MycgeD0nNDYnIHk9JzM5NC4yOTQ5Jz5yZXNvdXJjZXM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNTYnIHg9JzU2JyB5PSc0MDguMjYzNyc+TUVUQS1JTkY8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nOTgnIHg9JzY2JyB5PSc0MjIuMjMyNCc+c3ByaW5nLmZhY3RvcmllczwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc3NCcgeD0nNDYnIHk9JzQzNi4yMDEyJz5idWlsZC5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTMzJyB4PSc0NicgeT0nNDUwLjE2OTknPmRlcGVuZGVuY2llcy5ncmFkbGU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNzQnIHg9JzM2JyB5PSc0NjQuMTM4Nyc+YnVpbGQuZ3JhZGxlPC90ZXh0PjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nOScgeT0nMTEuOTg0NCcvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nMTknIHk9JzI1Ljk1MzEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMCcgeDI9JzEwJyB5MT0nMTQuOTg0NCcgeTI9JzI2Ljk1MzEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMCcgeDI9JzE4JyB5MT0nMjYuOTUzMScgeTI9JzI2Ljk1MzEnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzI5JyB5PSczOS45MjE5Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyMCcgeTE9JzI4Ljk1MzEnIHkyPSc0MC45MjE5Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyOCcgeTE9JzQwLjkyMTknIHkyPSc0MC45MjE5Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSczOScgeT0nNTMuODkwNicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPSc0Mi45MjE5JyB5Mj0nNTQuODkwNicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzgnIHkxPSc1NC44OTA2JyB5Mj0nNTQuODkwNicvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nNDknIHk9JzY3Ljg1OTQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc0MCcgeDI9JzQwJyB5MT0nNTYuODkwNicgeTI9JzY4Ljg1OTQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc0MCcgeDI9JzQ4JyB5MT0nNjguODU5NCcgeTI9JzY4Ljg1OTQnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzU5JyB5PSc4MS44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNTAnIHgyPSc1MCcgeTE9JzcwLjg1OTQnIHkyPSc4Mi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNTAnIHgyPSc1OCcgeTE9JzgyLjgyODEnIHkyPSc4Mi44MjgxJy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc2OScgeT0nOTUuNzk2OScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzYwJyB4Mj0nNjAnIHkxPSc4NC44MjgxJyB5Mj0nOTYuNzk2OScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzYwJyB4Mj0nNjgnIHkxPSc5Ni43OTY5JyB5Mj0nOTYuNzk2OScvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nNzknIHk9JzEwOS43NjU2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNzAnIHgyPSc3MCcgeTE9Jzk4Ljc5NjknIHkyPScxMTAuNzY1NicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzcwJyB4Mj0nNzgnIHkxPScxMTAuNzY1NicgeTI9JzExMC43NjU2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nODAnIHgyPSc4MCcgeTE9JzExMi43NjU2JyB5Mj0nMTI0LjczNDQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc4MCcgeDI9Jzg4JyB5MT0nMTI0LjczNDQnIHkyPScxMjQuNzM0NCcvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nNzknIHk9JzEzNy43MDMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNzAnIHgyPSc3MCcgeTE9Jzk4Ljc5NjknIHkyPScxMzguNzAzMScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzcwJyB4Mj0nNzgnIHkxPScxMzguNzAzMScgeTI9JzEzOC43MDMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nODAnIHgyPSc4MCcgeTE9JzE0MC43MDMxJyB5Mj0nMTUyLjY3MTknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc4MCcgeDI9Jzg4JyB5MT0nMTUyLjY3MTknIHkyPScxNTIuNjcxOScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPSc0Mi45MjE5JyB5Mj0nMTY2LjY0MDYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzM4JyB5MT0nMTY2LjY0MDYnIHkyPScxNjYuNjQwNicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPSc0Mi45MjE5JyB5Mj0nMTgwLjYwOTQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzM4JyB5MT0nMTgwLjYwOTQnIHkyPScxODAuNjA5NCcvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nMjknIHk9JzE5My41NzgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyMCcgeTE9JzI4Ljk1MzEnIHkyPScxOTQuNTc4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIwJyB4Mj0nMjgnIHkxPScxOTQuNTc4MScgeTI9JzE5NC41NzgxJy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSczOScgeT0nMjA3LjU0NjknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nMTk2LjU3ODEnIHkyPScyMDguNTQ2OScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzgnIHkxPScyMDguNTQ2OScgeTI9JzIwOC41NDY5Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc0OScgeT0nMjIxLjUxNTYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc0MCcgeDI9JzQwJyB5MT0nMjEwLjU0NjknIHkyPScyMjIuNTE1NicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzQwJyB4Mj0nNDgnIHkxPScyMjIuNTE1NicgeTI9JzIyMi41MTU2Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc1OScgeT0nMjM1LjQ4NDQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc1MCcgeDI9JzUwJyB5MT0nMjI0LjUxNTYnIHkyPScyMzYuNDg0NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzUwJyB4Mj0nNTgnIHkxPScyMzYuNDg0NCcgeTI9JzIzNi40ODQ0Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc2OScgeT0nMjQ5LjQ1MzEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc2MCcgeDI9JzYwJyB5MT0nMjM4LjQ4NDQnIHkyPScyNTAuNDUzMScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzYwJyB4Mj0nNjgnIHkxPScyNTAuNDUzMScgeTI9JzI1MC40NTMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNzAnIHgyPSc3MCcgeTE9JzI1Mi40NTMxJyB5Mj0nMjY0LjQyMTknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc3MCcgeDI9Jzc4JyB5MT0nMjY0LjQyMTknIHkyPScyNjQuNDIxOScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPScxOTYuNTc4MScgeTI9JzI3OC4zOTA2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzAnIHgyPSczOCcgeTE9JzI3OC4zOTA2JyB5Mj0nMjc4LjM5MDYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nMTk2LjU3ODEnIHkyPScyOTIuMzU5NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzgnIHkxPScyOTIuMzU5NCcgeTI9JzI5Mi4zNTk0Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PScyOScgeT0nMzA1LjMyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMCcgeDI9JzIwJyB5MT0nMjguOTUzMScgeTI9JzMwNi4zMjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyOCcgeTE9JzMwNi4zMjgxJyB5Mj0nMzA2LjMyODEnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzM5JyB5PSczMTkuMjk2OScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPSczMDguMzI4MScgeTI9JzMyMC4yOTY5Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzAnIHgyPSczOCcgeTE9JzMyMC4yOTY5JyB5Mj0nMzIwLjI5NjknLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzQ5JyB5PSczMzMuMjY1NicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzQwJyB4Mj0nNDAnIHkxPSczMjIuMjk2OScgeTI9JzMzNC4yNjU2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNDAnIHgyPSc0OCcgeTE9JzMzNC4yNjU2JyB5Mj0nMzM0LjI2NTYnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzU5JyB5PSczNDcuMjM0NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzUwJyB4Mj0nNTAnIHkxPSczMzYuMjY1NicgeTI9JzM0OC4yMzQ0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNTAnIHgyPSc1OCcgeTE9JzM0OC4yMzQ0JyB5Mj0nMzQ4LjIzNDQnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzY5JyB5PSczNjEuMjAzMScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzYwJyB4Mj0nNjAnIHkxPSczNTAuMjM0NCcgeTI9JzM2Mi4yMDMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNjAnIHgyPSc2OCcgeTE9JzM2Mi4yMDMxJyB5Mj0nMzYyLjIwMzEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc3MCcgeDI9JzcwJyB5MT0nMzY0LjIwMzEnIHkyPSczNzYuMTcxOScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzcwJyB4Mj0nNzgnIHkxPSczNzYuMTcxOScgeTI9JzM3Ni4xNzE5Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSczOScgeT0nMzg5LjE0MDYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nMzA4LjMyODEnIHkyPSczOTAuMTQwNicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzgnIHkxPSczOTAuMTQwNicgeTI9JzM5MC4xNDA2Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc0OScgeT0nNDAzLjEwOTQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc0MCcgeDI9JzQwJyB5MT0nMzkyLjE0MDYnIHkyPSc0MDQuMTA5NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzQwJyB4Mj0nNDgnIHkxPSc0MDQuMTA5NCcgeTI9JzQwNC4xMDk0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNTAnIHgyPSc1MCcgeTE9JzQwNi4xMDk0JyB5Mj0nNDE4LjA3ODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc1MCcgeDI9JzU4JyB5MT0nNDE4LjA3ODEnIHkyPSc0MTguMDc4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzAnIHkxPSczMDguMzI4MScgeTI9JzQzMi4wNDY5Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzAnIHgyPSczOCcgeTE9JzQzMi4wNDY5JyB5Mj0nNDMyLjA0NjknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nMzA4LjMyODEnIHkyPSc0NDYuMDE1NicvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMwJyB4Mj0nMzgnIHkxPSc0NDYuMDE1NicgeTI9JzQ0Ni4wMTU2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyMCcgeTE9JzI4Ljk1MzEnIHkyPSc0NTkuOTg0NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIwJyB4Mj0nMjgnIHkxPSc0NTkuOTg0NCcgeTI9JzQ1OS45ODQ0Jy8+PC9nPjwvc3ZnPg==" alt="Diagram" width="322" height="472">
 </div>
 </div>
 </li>
@@ -1927,7 +1928,7 @@
 </div>
 <div class="imageblock">
 <div class="content">
-<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnIHN0YW5kYWxvbmU9J25vJz8+PHN2ZyBjb250ZW50U2NyaXB0VHlwZT0nYXBwbGljYXRpb24vZWNtYXNjcmlwdCcgY29udGVudFN0eWxlVHlwZT0ndGV4dC9jc3MnIGhlaWdodD0nMTY1cHgnIHByZXNlcnZlQXNwZWN0UmF0aW89J25vbmUnIHN0eWxlPSd3aWR0aDozMTVweDtoZWlnaHQ6MTY1cHg7YmFja2dyb3VuZDojRkZGRkZGOycgdmVyc2lvbj0nMS4xJyB2aWV3Qm94PScwIDAgMzE1IDE2NScgd2lkdGg9JzMxNXB4JyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB6b29tQW5kUGFuPSdtYWduaWZ5Jz48ZGVmcy8+PGc+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNDUnIHg9JzE2JyB5PScxNy4xMzg3Jz5jdXN0b208L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNjQnIHg9JzI2JyB5PSczMS4xMDc0Jz5teWN1c3RvbTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc0MicgeD0nMzYnIHk9JzQ1LjA3NjInPnNlcnZpY2U8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTgnIHg9JzQ2JyB5PSc1OS4wNDQ5Jz5zcmM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzAnIHg9JzU2JyB5PSc3My4wMTM3Jz5tYWluPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzI0JyB4PSc2NicgeT0nODYuOTgyNCc+amF2YTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyMzInIHg9Jzc2JyB5PScxMDAuOTUxMic+b3JnLmFwYWNoZS5maW5lcmFjdC5teW1vZHVsZS5zZXJ2aWNlPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzExNicgeD0nODYnIHk9JzExNC45MTk5Jz5NeVNlcnZpY2VJbXBsLmphdmE8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNzInIHg9JzQ2JyB5PScxMjguODg4Nyc+YnVpbGQuZ3JhZGxlPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEyNicgeD0nNDYnIHk9JzE0Mi44NTc0Jz5kZXBlbmRlbmNpZXMuZ3JhZGxlPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzcyJyB4PSczNicgeT0nMTU2LjgyNjInPmJ1aWxkLmdyYWRsZTwvdGV4dD48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzknIHk9JzExLjk4NDQnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzE5JyB5PScyNS45NTMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTAnIHgyPScxMCcgeTE9JzE0Ljk4NDQnIHkyPScyNi45NTMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTAnIHgyPScxOCcgeTE9JzI2Ljk1MzEnIHkyPScyNi45NTMxJy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PScyOScgeT0nMzkuOTIxOScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIwJyB4Mj0nMjAnIHkxPScyOC45NTMxJyB5Mj0nNDAuOTIxOScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIwJyB4Mj0nMjgnIHkxPSc0MC45MjE5JyB5Mj0nNDAuOTIxOScvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nMzknIHk9JzUzLjg5MDYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nNDIuOTIxOScgeTI9JzU0Ljg5MDYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzM4JyB5MT0nNTQuODkwNicgeTI9JzU0Ljg5MDYnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzQ5JyB5PSc2Ny44NTk0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNDAnIHgyPSc0MCcgeTE9JzU2Ljg5MDYnIHkyPSc2OC44NTk0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNDAnIHgyPSc0OCcgeTE9JzY4Ljg1OTQnIHkyPSc2OC44NTk0Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc1OScgeT0nODEuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzUwJyB4Mj0nNTAnIHkxPSc3MC44NTk0JyB5Mj0nODIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzUwJyB4Mj0nNTgnIHkxPSc4Mi44MjgxJyB5Mj0nODIuODI4MScvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nNjknIHk9Jzk1Ljc5NjknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc2MCcgeDI9JzYwJyB5MT0nODQuODI4MScgeTI9Jzk2Ljc5NjknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc2MCcgeDI9JzY4JyB5MT0nOTYuNzk2OScgeTI9Jzk2Ljc5NjknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc3MCcgeDI9JzcwJyB5MT0nOTguNzk2OScgeTI9JzExMC43NjU2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNzAnIHgyPSc3OCcgeTE9JzExMC43NjU2JyB5Mj0nMTEwLjc2NTYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nNDIuOTIxOScgeTI9JzEyNC43MzQ0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzAnIHgyPSczOCcgeTE9JzEyNC43MzQ0JyB5Mj0nMTI0LjczNDQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nNDIuOTIxOScgeTI9JzEzOC43MDMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzAnIHgyPSczOCcgeTE9JzEzOC43MDMxJyB5Mj0nMTM4LjcwMzEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMCcgeDI9JzIwJyB5MT0nMjguOTUzMScgeTI9JzE1Mi42NzE5Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyOCcgeTE9JzE1Mi42NzE5JyB5Mj0nMTUyLjY3MTknLz48L2c+PC9zdmc+" alt="Diagram" width="322" height="165">
+<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnIHN0YW5kYWxvbmU9J25vJz8+PHN2ZyBjb250ZW50U2NyaXB0VHlwZT0nYXBwbGljYXRpb24vZWNtYXNjcmlwdCcgY29udGVudFN0eWxlVHlwZT0ndGV4dC9jc3MnIGhlaWdodD0nMTY1cHgnIHByZXNlcnZlQXNwZWN0UmF0aW89J25vbmUnIHN0eWxlPSd3aWR0aDozMjJweDtoZWlnaHQ6MTY1cHg7YmFja2dyb3VuZDojRkZGRkZGOycgdmVyc2lvbj0nMS4xJyB2aWV3Qm94PScwIDAgMzIyIDE2NScgd2lkdGg9JzMyMnB4JyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB6b29tQW5kUGFuPSdtYWduaWZ5Jz48ZGVmcy8+PGc+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNDYnIHg9JzE2JyB5PScxNy4xMzg3Jz5jdXN0b208L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNjMnIHg9JzI2JyB5PSczMS4xMDc0Jz5teWN1c3RvbTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc0NCcgeD0nMzYnIHk9JzQ1LjA3NjInPnNlcnZpY2U8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTknIHg9JzQ2JyB5PSc1OS4wNDQ5Jz5zcmM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzAnIHg9JzU2JyB5PSc3My4wMTM3Jz5tYWluPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzI1JyB4PSc2NicgeT0nODYuOTgyNCc+amF2YTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyMzknIHg9Jzc2JyB5PScxMDAuOTUxMic+b3JnLmFwYWNoZS5maW5lcmFjdC5teW1vZHVsZS5zZXJ2aWNlPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzExNScgeD0nODYnIHk9JzExNC45MTk5Jz5NeVNlcnZpY2VJbXBsLmphdmE8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNzQnIHg9JzQ2JyB5PScxMjguODg4Nyc+YnVpbGQuZ3JhZGxlPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEzMycgeD0nNDYnIHk9JzE0Mi44NTc0Jz5kZXBlbmRlbmNpZXMuZ3JhZGxlPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9Jzc0JyB4PSczNicgeT0nMTU2LjgyNjInPmJ1aWxkLmdyYWRsZTwvdGV4dD48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzknIHk9JzExLjk4NDQnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzE5JyB5PScyNS45NTMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTAnIHgyPScxMCcgeTE9JzE0Ljk4NDQnIHkyPScyNi45NTMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTAnIHgyPScxOCcgeTE9JzI2Ljk1MzEnIHkyPScyNi45NTMxJy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PScyOScgeT0nMzkuOTIxOScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIwJyB4Mj0nMjAnIHkxPScyOC45NTMxJyB5Mj0nNDAuOTIxOScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIwJyB4Mj0nMjgnIHkxPSc0MC45MjE5JyB5Mj0nNDAuOTIxOScvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nMzknIHk9JzUzLjg5MDYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nNDIuOTIxOScgeTI9JzU0Ljg5MDYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzM4JyB5MT0nNTQuODkwNicgeTI9JzU0Ljg5MDYnLz48cmVjdCBmaWxsPSdub25lJyBoZWlnaHQ9JzInIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzInIHg9JzQ5JyB5PSc2Ny44NTk0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNDAnIHgyPSc0MCcgeTE9JzU2Ljg5MDYnIHkyPSc2OC44NTk0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNDAnIHgyPSc0OCcgeTE9JzY4Ljg1OTQnIHkyPSc2OC44NTk0Jy8+PHJlY3QgZmlsbD0nbm9uZScgaGVpZ2h0PScyJyBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyJyB4PSc1OScgeT0nODEuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzUwJyB4Mj0nNTAnIHkxPSc3MC44NTk0JyB5Mj0nODIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6Izg4ODg4ODtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzUwJyB4Mj0nNTgnIHkxPSc4Mi44MjgxJyB5Mj0nODIuODI4MScvPjxyZWN0IGZpbGw9J25vbmUnIGhlaWdodD0nMicgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMicgeD0nNjknIHk9Jzk1Ljc5NjknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc2MCcgeDI9JzYwJyB5MT0nODQuODI4MScgeTI9Jzk2Ljc5NjknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc2MCcgeDI9JzY4JyB5MT0nOTYuNzk2OScgeTI9Jzk2Ljc5NjknLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc3MCcgeDI9JzcwJyB5MT0nOTguNzk2OScgeTI9JzExMC43NjU2Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNzAnIHgyPSc3OCcgeTE9JzExMC43NjU2JyB5Mj0nMTEwLjc2NTYnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nNDIuOTIxOScgeTI9JzEyNC43MzQ0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzAnIHgyPSczOCcgeTE9JzEyNC43MzQ0JyB5Mj0nMTI0LjczNDQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSczMCcgeDI9JzMwJyB5MT0nNDIuOTIxOScgeTI9JzEzOC43MDMxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzAnIHgyPSczOCcgeTE9JzEzOC43MDMxJyB5Mj0nMTM4LjcwMzEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiM4ODg4ODg7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMCcgeDI9JzIwJyB5MT0nMjguOTUzMScgeTI9JzE1Mi42NzE5Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojODg4ODg4O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjAnIHgyPScyOCcgeTE9JzE1Mi42NzE5JyB5Mj0nMTUyLjY3MTknLz48L2c+PC9zdmc+" alt="Diagram" width="322" height="165">
 </div>
 </div>
 <div class="paragraph">
@@ -2223,7 +2224,26 @@
 </div>
 <div class="listingblock">
 <div class="content">
-<pre class="CodeRay highlight"><code data-lang="gherkin">Feature: Example Modules
+<pre class="CodeRay highlight"><code data-lang="gherkin">#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# &quot;License&quot;); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+Feature: Example Modules
 
   @modules
   Scenario Outline: Verify that the dummy service returns the correct message
@@ -2589,6 +2609,2931 @@
 </div>
 </div>
 <div class="sect1">
+<h2 id="_testing_2">Testing</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="sect2">
+<h3 id="testing-cucumber">Cucumber</h3>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="sect3">
+<h4 id="_cucumber_cheatsheet">Cucumber Cheatsheet</h4>
+<div class="paragraph">
+<p>Cucumber is a test framework based on Behavior-Driven Development (BDD). Tests are written in plain text with very basic syntax rules. These rules form a mini language that is called Gherkin.</p>
+</div>
+<div class="paragraph">
+<p>A specification resembles spoken language. This makes it ideal for use with non-technical people that have domain specific knowledge. The emphasis of Cucumber lies on finding examples to describe your test cases. The few keywords and language rules are easy to explain to anyone (compared JUnit for example).</p>
+</div>
+<div class="sect4">
+<h5 id="_keywords">Keywords</h5>
+<div class="paragraph">
+<p>The Gherkin language has the following keywords:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>Feature</code></p>
+</li>
+<li>
+<p><code>Rule</code></p>
+</li>
+<li>
+<p><code>Scenario Outline</code> or <code>Scenario Template</code></p>
+</li>
+<li>
+<p><code>Example</code> or <code>Scenario</code></p>
+</li>
+<li>
+<p><code>Examples</code> or <code>Scenarios</code></p>
+</li>
+<li>
+<p><code>Background</code></p>
+</li>
+<li>
+<p><code>Given</code></p>
+</li>
+<li>
+<p><code>And</code></p>
+</li>
+<li>
+<p><code>But</code></p>
+</li>
+<li>
+<p><code>When</code></p>
+</li>
+<li>
+<p><code>Then</code></p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>There are a couple of additional signs used in Gherkin:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>|</code> is as column delimiters in <code>Examples</code> tables</p>
+</li>
+<li>
+<p>with <code>@</code> you can assign any kind of tags to categorize the specs (or e.g. relate them to certain Jira tickets)</p>
+</li>
+<li>
+<p><code>#</code> is used to indicate line comments</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+The tag <code>@ignore</code> is used to skip tests. This is a somewhat arbitrary choice (we could use any other tag to indicate temporarily disabled tests).
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Each non-empty line of a test specification needs to start with one of these keywords. The text blocks that follows the keywords are mapped to so called step definitions that contain the actual test code.</p>
+</div>
+<div class="paragraph">
+<p>A typical Cucumber test specification written in Gherkin looks like this:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="gherkin">Feature: Template Service
+
+  @template
+  Scenario Outline: Verify that mustache templates have expected results
+    Given A mustache template file &lt;template&gt;
+    Given A JSON data file &lt;json&gt;
+    When The user merges the template with data
+    Then The result should match the content of file &lt;result&gt;
+
+    Examples:
+      | template             | json       | result          |
+      | hello.mustache       | hello.json | hello.txt       |
+      | loan.mustache        | loan.json  | loan.html       |
+      | array.loop.mustache  | array.json | array.loop.txt  |
+      | array.index.mustache | array.json | array.index.txt |</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The corresponding step definitions would look like this:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">package</span> <span class="namespace">org.apache.fineract.template.service</span>;
+
+<span class="keyword">import</span> <span class="include">static</span> <span class="include">org.junit.jupiter.api.Assertions.assertEquals</span>;
+
+<span class="keyword">import</span> <span class="include">com.google.common.reflect.TypeToken</span>;
+<span class="keyword">import</span> <span class="include">com.google.gson.Gson</span>;
+<span class="keyword">import</span> <span class="include">com.google.gson.JsonElement</span>;
+<span class="keyword">import</span> <span class="include">com.google.gson.JsonParser</span>;
+<span class="keyword">import</span> <span class="include">io.cucumber.java8.En</span>;
+<span class="keyword">import</span> <span class="include">java.io.IOException</span>;
+<span class="keyword">import</span> <span class="include">java.lang.reflect.Type</span>;
+<span class="keyword">import</span> <span class="include">java.nio.charset.StandardCharsets</span>;
+<span class="keyword">import</span> <span class="include">java.util.ArrayList</span>;
+<span class="keyword">import</span> <span class="include">java.util.List</span>;
+<span class="keyword">import</span> <span class="include">java.util.Map</span>;
+<span class="keyword">import</span> <span class="include">org.apache.commons.io.IOUtils</span>;
+<span class="keyword">import</span> <span class="include">org.apache.fineract.template.domain.Template</span>;
+<span class="keyword">import</span> <span class="include">org.apache.fineract.template.domain.TemplateMapper</span>;
+
+<span class="directive">public</span> <span class="type">class</span> <span class="class">TemplateServiceStepDefinitions</span> <span class="directive">implements</span> En {
+
+    <span class="directive">private</span> TemplateMergeService tms = <span class="keyword">new</span> TemplateMergeService();
+
+    <span class="directive">private</span> <span class="predefined-type">String</span> template;
+
+    <span class="directive">private</span> <span class="predefined-type">Map</span>&lt;<span class="predefined-type">String</span>, <span class="predefined-type">Object</span>&gt; data;
+
+    <span class="directive">private</span> <span class="predefined-type">String</span> result;
+
+    <span class="directive">public</span> TemplateServiceStepDefinitions() {
+        Given(<span class="string"><span class="delimiter">&quot;</span><span class="content">/^A mustache template file (.*)$/</span><span class="delimiter">&quot;</span></span>, (<span class="predefined-type">String</span> file) -&gt; {
+            template = IOUtils.resourceToString(<span class="string"><span class="delimiter">&quot;</span><span class="content">templates/</span><span class="delimiter">&quot;</span></span> + file, StandardCharsets.UTF_8,
+                    TemplateServiceStepDefinitions.class.getClassLoader());
+        });
+
+        Given(<span class="string"><span class="delimiter">&quot;</span><span class="content">/^A JSON data file (.*)$/</span><span class="delimiter">&quot;</span></span>, (<span class="predefined-type">String</span> file) -&gt; {
+            data = parse(IOUtils.resourceToString(<span class="string"><span class="delimiter">&quot;</span><span class="content">templates/</span><span class="delimiter">&quot;</span></span> + file, StandardCharsets.UTF_8,
+                    TemplateServiceStepDefinitions.class.getClassLoader()));
+        });
+
+        When(<span class="string"><span class="delimiter">&quot;</span><span class="content">The user merges the template with data</span><span class="delimiter">&quot;</span></span>, () -&gt; {
+            result = compile(template, data);
+        });
+
+        Then(<span class="string"><span class="delimiter">&quot;</span><span class="content">/^The result should match the content of file (.*)$/</span><span class="delimiter">&quot;</span></span>, (<span class="predefined-type">String</span> file) -&gt; {
+            <span class="predefined-type">String</span> expected = IOUtils.resourceToString(<span class="string"><span class="delimiter">&quot;</span><span class="content">results/</span><span class="delimiter">&quot;</span></span> + file, StandardCharsets.UTF_8,
+                    TemplateServiceStepDefinitions.class.getClassLoader());
+            assertEquals(expected, result);
+        });
+    }
+
+    <span class="directive">private</span> <span class="predefined-type">String</span> compile(<span class="predefined-type">String</span> templateText, <span class="predefined-type">Map</span>&lt;<span class="predefined-type">String</span>, <span class="predefined-type">Object</span>&gt; scope) <span class="directive">throws</span> <span class="exception">IOException</span> {
+        <span class="predefined-type">List</span>&lt;TemplateMapper&gt; mappers = <span class="keyword">new</span> <span class="predefined-type">ArrayList</span>&lt;&gt;();
+        Template template = <span class="keyword">new</span> Template(<span class="string"><span class="delimiter">&quot;</span><span class="content">TemplateName</span><span class="delimiter">&quot;</span></span>, templateText, <span class="predefined-constant">null</span>, <span class="predefined-constant">null</span>, mappers);
+        <span class="keyword">return</span> tms.compile(template, scope);
+    }
+
+    <span class="directive">private</span> <span class="predefined-type">Map</span>&lt;<span class="predefined-type">String</span>, <span class="predefined-type">Object</span>&gt; parse(<span class="predefined-type">String</span> data) {
+        Gson gson = <span class="keyword">new</span> Gson();
+        <span class="predefined-type">Type</span> ssMap = <span class="keyword">new</span> TypeToken&lt;<span class="predefined-type">Map</span>&lt;<span class="predefined-type">String</span>, <span class="predefined-type">Object</span>&gt;&gt;() {}.getType();
+        JsonElement json = JsonParser.parseString(data);
+        <span class="keyword">return</span> gson.fromJson(json, ssMap);
+    }
+}</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+This example is an actual test specification that you can find in the <code>fineract-provider</code> module.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect5">
+<h6 id="_feature">Feature</h6>
+<div class="paragraph">
+<p>This keyword is used to group scenarios and to group related scenarios. All Gherkin specifications must start with the word <code>Feature</code>.</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_descriptions">Descriptions</h6>
+<div class="paragraph">
+<p>A description is any non-empty line that doesn&#8217;t start with a keyword. Descriptions can be placed under the keywords:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><code>Feature</code></p>
+</li>
+<li>
+<p><code>Rule</code></p>
+</li>
+<li>
+<p><code>Background</code></p>
+</li>
+<li>
+<p><code>Example</code>/<code>Scenario</code></p>
+</li>
+<li>
+<p><code>Scenario Outline</code></p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_rule">Rule</h6>
+<div class="paragraph">
+<p>Rule is used to group multiple related scenarios together.</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_examplescenario">Example/Scenario</h6>
+<div class="paragraph">
+<p>This is the important part of the specification as it should describe the business logic in more detail with the usage of steps (usually <code>Given</code>, <code>When</code>, <code>Then</code>)</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_steps">Steps</h6>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_given">Given</h6>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_when">When</h6>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_then">Then</h6>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_and_but">And, But</h6>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_background">Background</h6>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_scenario_outline">Scenario Outline</h6>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_examplestables">Examples/Tables</h6>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_outlook_2">Outlook</h5>
+<div class="paragraph">
+<p>As a proof of concept we&#8217;ve converted all unit tests in <code>fineract-provider</code> into Cucumber tests. The more interesting part starts when we&#8217;ll attack the integration tests with over 400 mostly business logic related tests. These tests fit very well in Cucumber&#8217;s test specification structure (a lot of <em>if-then-else</em> or in Gherkin: <em>Given-When-Then</em>). Migrating all tests will take a while, but we would already recommend trying to implement tests as Cucumber specifications. It should be relatively easy to convert these tests into the new syntax.</p>
+</div>
+<div class="paragraph">
+<p>Hopefully this will motivate even more people from the broader Fineract community to participate in the project by sharing their domain specific knowledge as Cucumber specifications. Specifications are written in Englisch (although not a technical requirement).</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Have a look at the specifications in <code>fineract-provider</code> for an initial inspiration. For more information please see <a href="https://cucumber.io/docs" class="bare">cucumber.io/docs</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_unit_testing">Unit Testing</h3>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_integration_testing">Integration Testing</h3>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_fineract_documentation_guide">Fineract Documentation Guide</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="sect2">
+<h3 id="_file_and_folder_layout">File and Folder Layout</h3>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">The general rules are</dt>
+<dd>
+<div class="ulist">
+<ul>
+<li>
+<p>keep things as flat as possible (avoid sub-folders as much as possible)</p>
+</li>
+<li>
+<p>DRY (don&#8217;t repeat yourself): don&#8217;t copy and paste code pieces, use AsciiDoc&#8217;s include feature and reference files/-sections from the project folder</p>
+</li>
+<li>
+<p>images are located in <code>fineract-doc/src/docs/en/images</code> (or sub-folders)</p>
+</li>
+<li>
+<p>diagrams are located in <code>fineract-doc/src/docs/en/diagrams</code> (or sub-folders)</p>
+</li>
+<li>
+<p>specific chapters are located in <code>fineract-doc/src/docs/en/chapters</code></p>
+</li>
+<li>
+<p>every chapter has its own folder and at least one <code>index.adoc</code> file</p>
+</li>
+<li>
+<p>it&#8217;s recommended to keep the chapters flat (i. e. no sub-folders in the chapter folders)</p>
+</li>
+<li>
+<p>it&#8217;s recommended to create one file per chapter section; like that you can re-arrange sections very easily in the <code>index.adoc</code> file</p>
+</li>
+</ul>
+</div>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+These rules are not entirely set in stone and could be modified if necessary. If you see any issues then please report them on the <a href="mailto:dev@fineract.apache.org">mailing list</a> or <a href="https://issues.apache.org">open a Jira ticket</a>.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_asciidoc">AsciiDoc</h3>
+<div class="sect3">
+<h4 id="_cheatsheet">Cheatsheet</h4>
+<div class="paragraph">
+<p>You can find the definitive manual on AsciiDoc syntax at <a href="https://docs.asciidoctor.org/asciidoc/latest">AsciiDoc documentation</a>. To help people get started, however, here is a simpler cheat sheet.</p>
+</div>
+<div class="sect4">
+<h5 id="_asciidoc_vs_asciidoctor_format_vs_tool">AsciiDoc vs Asciidoctor (format vs tool)</h5>
+<div class="paragraph">
+<p>When we refer to <em>AsciiDoc</em> then we mean the language or format that this documentation is written in. AsciiDoc is a markup language similar to Markdown (but more powerful and expressive) designed for technical documentation. You don&#8217;t need necessarily any specialized editors or tools to write your documentation in AsciiDoc, a plain text editor will do, but there are plenty of choices that give you a better experience (in this documentation we describe the basic usage with AsciiDoc plugins for IntelliJ, Eclipse and VSCode).</p>
+</div>
+<div class="paragraph">
+<p>Asciidoctor on the other hand is the command line tool we use to transform documents written in AsciiDoc into HTML and PDF (Epub3 and Docbook are also available). There are three variants available:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Asciidoctor (written in Ruby)</p>
+</li>
+<li>
+<p>Asciidoctor.js (written in JavaScript, often used for browser previews)</p>
+</li>
+<li>
+<p>AsciidoctorJ (Java lib that integrates the Ruby implementation via JRuby, e. g. the Asciidoctor Gradle plugin is based on that)</p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+Sometimes you will still find documentation related to the original incarnation of AsciiDoc/tor (written in Python). The format evolved quite a bit since then and the tools try to maintain a certain degree of backward compatibility, but there is no guarantee. We prefer to use the latest language specs as documented <a href="https://docs.asciidoctor.org/asciidoc/latest">here</a>.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_basic_asciidoc_syntax">Basic AsciiDoc Syntax</h5>
+<div class="sect5">
+<h6 id="_bold">Bold</h6>
+<div class="paragraph">
+<p>Put asterisks around text to make it <strong>bold</strong>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/text/bold" class="bare">docs.asciidoctor.org/asciidoc/latest/text/bold</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_italics">Italics</h6>
+<div class="paragraph">
+<p>Use underlines on either side of a string to put text into <em>italics</em>.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/text/italic" class="bare">docs.asciidoctor.org/asciidoc/latest/text/italic</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_headings">Headings</h6>
+<div class="paragraph">
+<p>Equal signs (<code>=</code>) are used for heading levels. Each equal sign is a level. Each page can <strong>only</strong> have one top level (i.e., only one section with a single <code>=</code>).</p>
+</div>
+<div class="paragraph">
+<p>Levels should be appropriately nested. During the build, validation occurs to ensure that level 3s are preceded by level 2s, level 4s are preceded by level 3s, etc. Including out-of-sequence heading levels (such as a level 3 then a level 5) will not fail the build, but will produce an error.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/sections/titles-and-levels/" class="bare">docs.asciidoctor.org/asciidoc/latest/sections/titles-and-levels/</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_code_examples">Code Examples</h5>
+<div class="paragraph">
+<p>Use backticks <code>`</code> for text that should be monospaced, such as code or a class name in the body of a paragraph.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/text/monospace/" class="bare">docs.asciidoctor.org/asciidoc/latest/text/monospace/</a>
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Longer code examples can be separated from text with <code>source</code> blocks.<br>
+These allow defining the syntax being used so the code is properly highlighted.</p>
+</div>
+<div class="listingblock">
+<div class="title">Example Source Block</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">[source,xml]
+&lt;field name=&quot;id&quot; type=&quot;string&quot; indexed=&quot;true&quot; stored=&quot;true&quot; required=&quot;true&quot; multiValued=&quot;false&quot; /&gt;</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>If your code block will include line breaks, put 4 hyphens (<code>----</code>) before and after the entire block.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/verbatim/source-blocks/" class="bare">docs.asciidoctor.org/asciidoc/latest/verbatim/source-blocks/</a>
+</td>
+</tr>
+</table>
+</div>
+<div class="sect5">
+<h6 id="_source_block_syntax_highlighting">Source Block Syntax Highlighting</h6>
+<div class="paragraph">
+<p>The HTML output uses Rouge to add syntax highlighting to code examples. This is done by adding the language of the code block after the <code>source</code>, as shown in the above example source block (<code>xml</code> in that case).</p>
+</div>
+<div class="paragraph">
+<p>Rouge has a long selection of lexers available. You can see the full list at <a href="https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers" class="bare">github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers</a>. Use one of the valid short names to get syntax highlighting for that language.</p>
+</div>
+<div class="paragraph">
+<p>Ideally, we will have an appropriate lexer to use for all source blocks, but that&#8217;s not possible.<br>
+When in doubt, choose <code>text</code>, or leave it blank.</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_importing_code_snippets_from_other_files">Importing Code Snippets from Other Files</h6>
+<div class="paragraph">
+<p>The build system has the ability to "include" snippets located in other files&#8201;&#8212;&#8201;even non-AsciiDoc files such as <code>*.java</code> source code files.</p>
+</div>
+<div class="paragraph">
+<p>We&#8217;ve configured a global attribute called <code>{rootdir}</code> that you can use to reference these files consistently from Fineract&#8217;s project root folder.</p>
+</div>
+<div class="paragraph">
+<p>Snippets are bounded by <em>tag</em> comments placed at the start and end of the section you would like to import. Opening tags look like: <code>// tag::snippetName[]</code>. Closing tags follow the format: <code>// end::snippetName[]</code>.</p>
+</div>
+<div class="paragraph">
+<p>Snippets can be inserted into an <code>.adoc</code> file using an <code>include</code> directive, following the format: <code>include::{rootdir}/&lt;directory-under-root-folder&gt;/&lt;file-name&gt;[tag=snippetName]</code>.</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+You could also use relative paths to reference include files, but it is preferred to always use the root folder as a starting point. Like this you can be sure that the preview in your editor of choice works.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>For example, if we wanted to highlight a specific section of the following Cucumber test definition (more on that in section Cucumber Testing) <code>ClasspathDuplicatesStepDefinitions.java</code> file located under <code>fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/</code>.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">[source,java,indent=0]
+----
+include::{rootdir}/fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/ClasspathDuplicatesStepDefinitions.java[tag=then]
+----</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>For more information on the <code>include</code> directive, see the documentation at <a href="https://docs.asciidoctor.org/asciidoc/latest/directives/include" class="bare">docs.asciidoctor.org/asciidoc/latest/directives/include</a>.</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_block_titles">Block Titles</h6>
+<div class="paragraph">
+<p>Titles can be added to most blocks (images, source blocks, tables, etc.) by simply prefacing the title with a period (<code>.</code>). For example, to add a title to the source block example above:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">.Example ID field
+[source,xml]
+&lt;field name=&quot;id&quot; type=&quot;string&quot; indexed=&quot;true&quot; stored=&quot;true&quot; required=&quot;true&quot; multiValued=&quot;false&quot; /&gt;</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/blocks/add-title" class="bare">docs.asciidoctor.org/asciidoc/latest/blocks/add-title</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_links">Links</h5>
+<div class="sect5">
+<h6 id="_link_to_sites_on_the_internet">Link to Sites on the Internet</h6>
+<div class="paragraph">
+<p>When converting content to HTML, Asciidoctor will automatically render many link types (such as <code>http:</code> and <code>mailto:</code>) without any additional syntax. However, you can add a name to a link by adding the URI followed by square brackets:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">http://fineract.apache.org/[Fineract Website]</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/macros/url-macro" class="bare">docs.asciidoctor.org/asciidoc/latest/macros/url-macro</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_link_to_other_pagessections_of_the_guide">Link to Other Pages/Sections of the Guide</h6>
+<div class="paragraph">
+<p>A warning up front, linking to other pages can be a little painful. There are slightly different rules depending on the type of link you want to create, and where you are linking from. The build process includes a validation for <em>internal</em> or <em>inter-page</em> links, so if you can build the docs locally, you can use that to verify you constructed your link properly. With all the below examples, you can add text to display as the link title by putting the display text in brackets after the link, as in:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">xref:indexing-guide:schema-api.adoc#modify-the-schema[Modify the Schema]</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can also use the title of the Page or Section you are linking to by using an empty display text.<br>
+This is useful in case the title of the page or section changes. In that case you won&#8217;t need to change the display text for every link that refers to that page/section.</p>
+</div>
+<div class="paragraph">
+<p>See an example below:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">xref:indexing-guide:schema-api.adoc#modify-the-schema[]</code></pre>
+</div>
+</div>
+<div class="sect6">
+<h7 id="_link_to_a_section_on_the_same_page">Link to a Section on the Same Page</h7>
+<div class="paragraph">
+<p>To link to an anchor (or section title) on the <em>same page</em>, you can simply use double angle brackets (<code>&lt;&lt; &gt;&gt;</code>) around the anchor/heading/section title you want to link to. Any section title (a heading that starts with equal signs) automatically becomes an anchor during conversion and is available for deep linking.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Example</dt>
+<dd>
+<p>If I have a section on a page that looks like this (from <code>process.adoc</code>):</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">== Steps
+
+Common parameters for all steps are:</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To link to this section from another part of the same <code>process.adoc</code> page, I simply need to put the section title in double angle brackets, as in:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">See also the &lt;&lt;Steps&gt;&gt; section.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The section title will be used as the display text; to customize that add a comma after the the section title, then the text you want used for display.</p>
+</div>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/macros/xref/#internal-cross-references" class="bare">docs.asciidoctor.org/asciidoc/latest/macros/xref/#internal-cross-references</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect6">
+<h7 id="_link_to_a_section_with_an_anchor_id">Link to a Section with an Anchor ID</h7>
+<div class="paragraph">
+<p>When linking to any section (on the same page or another one), you must also be aware of any pre-defined anchors that may be in use (these will be in double brackets, like <code>[[ ]]</code>).<br>
+When the page is converted, those will be the references your link needs to point to.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Example</dt>
+<dd>
+<p>Take this example from <code>configsets-api.adoc</code>:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">[[configsets-create]]
+== Create a ConfigSet</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>To link to this section, there are two approaches depending on where you are linking from:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>From the same page, simply use the anchor name: <code>&lt;&lt;configsets-create&gt;&gt;</code>.</p>
+</li>
+<li>
+<p>From another page, use the page name and the anchor name: <code>xref:configuration-guide:configsets-api.adoc#configsets-create[]</code>.</p>
+</li>
+</ul>
+</div>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect6">
+<h7 id="_link_to_another_page">Link to Another Page</h7>
+<div class="paragraph">
+<p>To link to <em>another page</em> or a section on another page, you must refer to the full filename and refer to the section you want to link to.</p>
+</div>
+<div class="paragraph">
+<p>When you want to refer the reader to another page without deep-linking to a section, Asciidoctor allows this by merely omitting the <code>#</code> and section id.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Example</dt>
+<dd>
+<p>To construct a link to the <code>process.adoc</code> page, we need to refer to the file name (<code>process.adoc</code>), as well as the module that the file resides in (<code>release/</code>).</p>
+<div class="paragraph">
+<p>It&#8217;s preferred to also always use the page name to give the reader better context for where the link goes.<br>
+As in:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">For more about upgrades, see xref:release:process.adoc[Fineract Release Process].</code></pre>
+</div>
+</div>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect6">
+<h7 id="_link_to_another_page_in_the_same_folder">Link to Another Page in the same folder</h7>
+<div class="paragraph">
+<p>If the page that contains the link and the page being linked to reside in the same module, there is no need to include the module name after <code>xref:</code></p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Example</dt>
+<dd>
+<p>To construct a link to the <code>process-step01.adoc</code> page from <code>process.adoc</code> page, we do not need to include the module name because they both reside in the <code>upgrade-notes</code> module.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">For more information on the first step of the release process, see the section \xref:process-step01.adoc[].</code></pre>
+</div>
+</div>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect6">
+<h7 id="_link_to_a_section_on_another_page">Link to a Section on Another Page</h7>
+<div class="paragraph">
+<p>Linking to a section is the same conceptually as linking to the top of a page, you just need to take a little extra care to format the anchor ID in your link reference properly.</p>
+</div>
+<div class="paragraph">
+<p>When you link to a section on another page, you must make a simple conversion of the title into the format of the section ID that will be created during the conversion. These are the rules that transform the sections:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Example</dt>
+<dd>
+<p>TBD</p>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/macros/inter-document-xref" class="bare">docs.asciidoctor.org/asciidoc/latest/macros/inter-document-xref</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_ordered_and_unordered_lists">Ordered and Unordered Lists</h5>
+<div class="paragraph">
+<p>AsciiDoc supports three types of lists:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Unordered lists</p>
+</li>
+<li>
+<p>Ordered lists</p>
+</li>
+<li>
+<p>Labeled lists</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Each type of list can be mixed with the other types. So, you could have an ordered list inside a labeled list if necessary.</p>
+</div>
+<div class="sect5">
+<h6 id="_unordered_lists">Unordered Lists</h6>
+<div class="paragraph">
+<p>Simple bulleted lists need each line to start with an asterisk (<code>*</code>). It should be the first character of the line, and be followed by a space.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/lists/unordered" class="bare">docs.asciidoctor.org/asciidoc/latest/lists/unordered</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_ordered_lists">Ordered Lists</h6>
+<div class="paragraph">
+<p>Numbered lists need each line to start with a period (<code>.</code>). It should be the first character of the line, and be followed by a space. This style is preferred over manually numbering your list.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/lists/ordered" class="bare">docs.asciidoctor.org/asciidoc/latest/lists/ordered</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_description_lists">Description Lists</h6>
+<div class="paragraph">
+<p>These are like question &amp; answer lists or glossary definitions.<br>
+Each line should start with the list item followed by double colons (<code>::</code>), then a space or new line. Labeled lists can be nested by adding an additional colon (such as <code>:::</code>, etc.). If your content will span multiple paragraphs or include source blocks, etc., you will want to add a plus sign (<code>+</code>) to keep the sections together for your reader.</p>
+</div>
+<div class="admonitionblock tip">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-tip" title="Tip"></i>
+</td>
+<td class="content">
+We prefer this style of list for parameters because it allows more freedom in how you present the details for each parameter. For example, it supports ordered or unordered lists inside it automatically, and you can include multiple paragraphs and source blocks without trying to cram them into a smaller table cell.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/lists/description" class="bare">docs.asciidoctor.org/asciidoc/latest/lists/description</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_images">Images</h5>
+<div class="paragraph">
+<p>There are two ways to include an image: inline or as a block. Inline images are those where text will flow around the image. Block images are those that appear on their own line, set off from any other text on the page. Both approaches use the <code>image</code> tag before the image filename, but the number of colons after <code>image</code> define if it is inline or a block. Inline images use one colon (<code>image:</code>), while block images use two colons (<code>image::</code>). Block images automatically include a caption label and a number (such as <code>Figure 1</code>). If a block image includes a title, it will be included as the text of the caption. Optional attributes allow you to set the alt text, the size of the image, if it should be a link, float and alignment. We have defined a global attribute <code>{imagesdir}</code> to standardize the location for all images (<code>fineract-doc/src/docs/en/images</code>).</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/macros/images" class="bare">docs.asciidoctor.org/asciidoc/latest/macros/images</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_tables">Tables</h5>
+<div class="paragraph">
+<p>Tables can be complex, but it is pretty easy to make a basic table that fits most needs.</p>
+</div>
+<div class="sect5">
+<h6 id="_basic_tables">Basic Tables</h6>
+<div class="paragraph">
+<p>The basic structure of a table is similar to Markdown, with pipes (<code>|</code>) delimiting columns between rows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">|===
+| col 1 row 1 | col 2 row 1|
+| col 1 row 2 | col 2 row 2|
+|===</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Note the use of <code>|===</code> at the start and end. For basic tables that&#8217;s not exactly required, but it does help to delimit the start and end of the table in case you accidentally introduce (or maybe prefer) spaces between the rows.</p>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_header_rows">Header Rows</h6>
+<div class="paragraph">
+<p>To add a header to a table, you need only set the <code>header</code> attribute at the start of the table:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">[options=&quot;header&quot;]
+|===
+| header col 1 | header col 2|
+| col 1 row 1 | col 2 row 1|
+| col 1 row 2 | col 2 row 2|
+|===</code></pre>
+</div>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_defining_column_styles">Defining Column Styles</h6>
+<div class="paragraph">
+<p>If you need to define specific styles to all rows in a column, you can do so with the attributes.</p>
+</div>
+<div class="paragraph">
+<p>This example will center all content in all rows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">[cols=&quot;2*^&quot; options=&quot;header&quot;]
+|===
+| header col 1 | header col 2|
+| col 1 row 1 | col 2 row 1|
+| col 1 row 2 | col 2 row 2|
+|===</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Alignments or any other styles can be applied only to a specific column. For example, this would only center the last column of the table:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">[cols=&quot;2*,^&quot; options=&quot;header&quot;]
+|===
+| header col 1 | header col 2|
+| col 1 row 1 | col 2 row 1|
+| col 1 row 2 | col 2 row 2|
+|===</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<div class="title">Many more examples of formatting:</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Columns: <a href="https://docs.asciidoctor.org/asciidoc/latest/tables/add-columns/" class="bare">docs.asciidoctor.org/asciidoc/latest/tables/add-columns/</a></p>
+</li>
+<li>
+<p>Cells and rows: <a href="https://docs.asciidoctor.org/asciidoc/latest/tables/add-cells-and-rows/" class="bare">docs.asciidoctor.org/asciidoc/latest/tables/add-cells-and-rows/</a></p>
+</li>
+</ul>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_more_options">More Options</h6>
+<div class="paragraph">
+<p>Tables can also be given footer rows, borders, and captions. You can  determine the width of columns, or the width of the table as a whole.</p>
+</div>
+<div class="paragraph">
+<p>CSV or DSV can also be used instead of formatting the data in pipes.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/tables/build-a-basic-table/" class="bare">docs.asciidoctor.org/asciidoc/latest/tables/build-a-basic-table/</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_admonitions_notes_warnings">Admonitions (Notes, Warnings)</h5>
+<div class="paragraph">
+<p>AsciiDoc supports several types of callout boxes, called "admonitions":</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>NOTE</p>
+</li>
+<li>
+<p>TIP</p>
+</li>
+<li>
+<p>IMPORTANT</p>
+</li>
+<li>
+<p>CAUTION</p>
+</li>
+<li>
+<p>WARNING</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>It is enough to start a paragraph with one of these words followed by a colon (such as <code>NOTE:</code>). When it is converted to HTML, those sections will be formatted properly - indented from the main text and showing an icon inline.</p>
+</div>
+<div class="paragraph">
+<p>You can add titles to admonitions by making it an admonition block. The structure of an admonition block is like this:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">.Title of Note
+[NOTE]
+====
+Text of note
+====</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>In this example, the type of admonition is included in square brackets (<code>[NOTE]</code>), and the title is prefixed with a period. Four equal signs give the start and end points of the note text (which can include new lines, lists, code examples, etc.).</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/blocks/admonitions/" class="bare">docs.asciidoctor.org/asciidoc/latest/blocks/admonitions/</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_stem_notation_support">STEM Notation Support</h5>
+<div class="paragraph">
+<p>We have set up the Ref Guide to be able to support STEM notation whenever it&#8217;s needed.</p>
+</div>
+<div class="paragraph">
+<p>The <a href="http://asciimath.org/">AsciiMath</a> syntax is supported by default, but LaTeX syntax is also available.</p>
+</div>
+<div class="paragraph">
+<p>To insert a mathematical formula inline with your text, you can simply write:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">stem:[a//b]</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>MathJax.js will render the formula as proper mathematical notation when a user loads the page. When the above example is converted to HTML, it will look like this to a user: \$a//b\$</p>
+</div>
+<div class="paragraph">
+<p>To insert LaTeX, preface the formula with <code>latexmath</code> instead of <code>stem</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">latexmath:[tp \leq 1 - (1 - sim^{rows})^{bands}]</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Long formulas, or formulas which should to be set off from the main text, can use the block syntax prefaced by <code>stem</code> or <code>latexmath</code>:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">[stem]
+++++
+sqrt(3x-1)+(1+x)^2 &lt; y
+++++</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>or for LaTeX:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="asciidoc">[latexmath]
+++++
+[tp \leq 1 - (1 - sim^{rows})^{bands}]
+++++</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/stem/stem" class="bare">docs.asciidoctor.org/asciidoc/latest/stem/stem</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_diagrams">Diagrams</h3>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<a href="https://docs.asciidoctor.org/diagram-extension/latest" class="bare">docs.asciidoctor.org/diagram-extension/latest</a>
+</td>
+</tr>
+</table>
+</div>
+<div class="sect3">
+<h4 id="_plantuml_cheatsheet">PlantUML Cheatsheet</h4>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<a href="https://plantuml.com" class="bare">plantuml.com</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_c4_cheatsheet">C4 Cheatsheet</h4>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<a href="https://c4model.com" class="bare">c4model.com</a> and <a href="https://github.com/plantuml-stdlib/C4-PlantUML" class="bare">github.com/plantuml-stdlib/C4-PlantUML</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_archimate_cheatsheet">Archimate Cheatsheet</h4>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<a href="https://www.opengroup.org/archimate-forum/archimate-overview" class="bare">www.opengroup.org/archimate-forum/archimate-overview</a> and <a href="https://plantuml.com/archimate-diagram" class="bare">plantuml.com/archimate-diagram</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_vega_cheatsheet">Vega Cheatsheet</h4>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+<a href="https://vega.github.io/vega-lite/" class="bare">vega.github.io/vega-lite/</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_editor">Editor</h3>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="sect3">
+<h4 id="_intellij_idea">IntelliJ IDEA</h4>
+<div class="sect4">
+<h5 id="_asciidoc_2">Asciidoc</h5>
+<div class="paragraph">
+<p>See: <a href="https://plugins.jetbrains.com/plugin/7391-asciidoc" class="bare">plugins.jetbrains.com/plugin/7391-asciidoc</a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_plantuml">PlantUML</h5>
+<div class="paragraph">
+<p>See: <a href="https://plugins.jetbrains.com/plugin/7017-plantuml-integration" class="bare">plugins.jetbrains.com/plugin/7017-plantuml-integration</a></p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_eclipse_2">Eclipse</h4>
+<div class="sect4">
+<h5 id="_asciidoc_3">Asciidoc</h5>
+<div class="paragraph">
+<p>See: <a href="https://marketplace.eclipse.org/content/asciidoctor-editor" class="bare">marketplace.eclipse.org/content/asciidoctor-editor</a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_plantuml_2">PlantUML</h5>
+<div class="paragraph">
+<p>See: <a href="https://plantuml.com/eclipse" class="bare">plantuml.com/eclipse</a></p>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_vscode_2">VSCode</h4>
+<div class="sect4">
+<h5 id="_asciidoc_4">Asciidoc</h5>
+<div class="paragraph">
+<p>See: <a href="https://marketplace.visualstudio.com/items?itemName=asciidoctor.asciidoctor-vscode" class="bare">marketplace.visualstudio.com/items?itemName=asciidoctor.asciidoctor-vscode</a></p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_plantuml_3">PlantUML</h5>
+<div class="paragraph">
+<p>See: <a href="https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml" class="bare">marketplace.visualstudio.com/items?itemName=jebbs.plantuml</a></p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_antora">Antora</h3>
+<div class="paragraph">
+<p>See: <a href="https://antora.org/" class="bare">antora.org/</a></p>
+</div>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_releases">Releases</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p><a href="https://cwiki.apache.org/confluence/x/DRwIB">How to Release Apache Fineract</a> documents the process how we make the source code that is available here in this Git repository into a binary release tar.gz available on <a href="http://fineract.apache.org" class="bare">fineract.apache.org</a>.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnIHN0YW5kYWxvbmU9J25vJz8+PHN2ZyBjb250ZW50U2NyaXB0VHlwZT0nYXBwbGljYXRpb24vZWNtYXNjcmlwdCcgY29udGVudFN0eWxlVHlwZT0ndGV4dC9jc3MnIGhlaWdodD0nMTM0cHgnIHByZXNlcnZlQXNwZWN0UmF0aW89J25vbmUnIHN0eWxlPSd3aWR0aDo0MjRweDtoZWlnaHQ6MTM0cHg7YmFja2dyb3VuZDojRkZGRkZGOycgdmVyc2lvbj0nMS4xJyB2aWV3Qm94PScwIDAgNDI0IDEzNCcgd2lkdGg9JzQyNHB4JyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB6b29tQW5kUGFuPSdtYWduaWZ5Jz48ZGVmcy8+PGc+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMCcgeDI9JzAnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNicgeDI9JzE2JyB5MT0nMCcgeTI9JzExNi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzInIHgyPSczMicgeTE9JzAnIHkyPScxMTYuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzQ4JyB4Mj0nNDgnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc2NCcgeDI9JzY0JyB5MT0nMCcgeTI9JzExNi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nODAnIHgyPSc4MCcgeTE9JzAnIHkyPScxMTYuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9Jzk2JyB4Mj0nOTYnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMTInIHgyPScxMTInIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMjgnIHgyPScxMjgnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNDQnIHgyPScxNDQnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNjAnIHgyPScxNjAnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNzYnIHgyPScxNzYnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxOTInIHgyPScxOTInIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMDgnIHgyPScyMDgnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMjQnIHgyPScyMjQnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyNDAnIHgyPScyNDAnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyNTYnIHgyPScyNTYnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyNzInIHgyPScyNzInIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNicgeD0nNScgeT0nOS4yODIyJz4xPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PScyMScgeT0nOS4yODIyJz4yPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSczNycgeT0nOS4yODIyJz4zPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSc1MycgeT0nOS4yODIyJz40PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSc2OScgeT0nOS4yODIyJz41PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSc4NScgeT0nOS4yODIyJz42PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PScxMDEnIHk9JzkuMjgyMic+NzwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNicgeD0nMTE3JyB5PSc5LjI4MjInPjg8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzYnIHg9JzEzMycgeT0nOS4yODIyJz45PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMTQ2JyB5PSc5LjI4MjInPjEwPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMTYyJyB5PSc5LjI4MjInPjExPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMTc4JyB5PSc5LjI4MjInPjEyPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMTk0JyB5PSc5LjI4MjInPjEzPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMjEwJyB5PSc5LjI4MjInPjE0PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMjI2JyB5PSc5LjI4MjInPjE1PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMjQyJyB5PSc5LjI4MjInPjE2PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMjU4JyB5PSc5LjI4MjInPjE3PC90ZXh0PjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzAnIHgyPScyNzInIHkxPScwJyB5Mj0nMCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzAnIHgyPScyNzInIHkxPScxMycgeTI9JzEzJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB4MT0nNycgeDI9JzcnIHkxPSczMC44MDQ3JyB5Mj0nNDEuMjA3Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB4MT0nNycgeDI9JzE1JyB5MT0nNDEuMjA3JyB5Mj0nNDEuMjA3Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScxMSwzNy4yMDcsMTEsNDEuMjA3LDExLDQ1LjIwNywxNSw0MS4yMDcnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycgeDE9JzExOScgeDI9JzExOScgeTE9JzQ3LjYwOTQnIHkyPSc1OC4wMTE3Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB4MT0nMTE5JyB4Mj0nMTI3JyB5MT0nNTguMDExNycgeTI9JzU4LjAxMTcnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzEyMyw1NC4wMTE3LDEyMyw1OC4wMTE3LDEyMyw2Mi4wMTE3LDEyNyw1OC4wMTE3JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHgxPScxNTEnIHgyPScxNTEnIHkxPSc2NC40MTQxJyB5Mj0nNzQuODE2NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycgeDE9JzE1MScgeDI9JzE1OScgeTE9Jzc0LjgxNjQnIHkyPSc3NC44MTY0Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScxNTUsNzAuODE2NCwxNTUsNzQuODE2NCwxNTUsNzguODE2NCwxNTksNzQuODE2NCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB4MT0nMTk5JyB4Mj0nMTk5JyB5MT0nODEuMjE4OCcgeTI9JzkxLjYyMTEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHgxPScxOTknIHgyPScyMDcnIHkxPSc5MS42MjExJyB5Mj0nOTEuNjIxMScvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjAzLDg3LjYyMTEsMjAzLDkxLjYyMTEsMjAzLDk1LjYyMTEsMjA3LDkxLjYyMTEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycgeDE9JzIzMScgeDI9JzIzMScgeTE9Jzk4LjAyMzQnIHkyPScxMDguNDI1OCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycgeDE9JzIzMScgeDI9JzIzOScgeTE9JzEwOC40MjU4JyB5Mj0nMTA4LjQyNTgnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIzNSwxMDQuNDI1OCwyMzUsMTA4LjQyNTgsMjM1LDExMi40MjU4LDIzOSwxMDguNDI1OCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7Jy8+PHJlY3QgZmlsbD0nI0ZFRkVDRScgaGVpZ2h0PScxMi44MDQ3JyBzdHlsZT0nc3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScxMicgeD0nMicgeT0nMTgnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyJyB4Mj0nMTQnIHkxPScxOCcgeTI9JzE4Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMicgeDI9JzE0JyB5MT0nMzAuODA0NycgeTI9JzMwLjgwNDcnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyJyB4Mj0nMicgeTE9JzE4JyB5Mj0nMzAuODA0NycvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzE0JyB4Mj0nMTQnIHkxPScxOCcgeTI9JzMwLjgwNDcnLz48cmVjdCBmaWxsPScjRkVGRUNFJyBoZWlnaHQ9JzEyLjgwNDcnIHN0eWxlPSdzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzEwOCcgeD0nMTgnIHk9JzM0LjgwNDcnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxOCcgeDI9JzEyNicgeTE9JzM0LjgwNDcnIHkyPSczNC44MDQ3Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTgnIHgyPScxMjYnIHkxPSc0Ny42MDk0JyB5Mj0nNDcuNjA5NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzE4JyB4Mj0nMTgnIHkxPSczNC44MDQ3JyB5Mj0nNDcuNjA5NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzEyNicgeDI9JzEyNicgeTE9JzM0LjgwNDcnIHkyPSc0Ny42MDk0Jy8+PHJlY3QgZmlsbD0nI0ZFRkVDRScgaGVpZ2h0PScxMi44MDQ3JyBzdHlsZT0nc3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyOCcgeD0nMTMwJyB5PSc1MS42MDk0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTMwJyB4Mj0nMTU4JyB5MT0nNTEuNjA5NCcgeTI9JzUxLjYwOTQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMzAnIHgyPScxNTgnIHkxPSc2NC40MTQxJyB5Mj0nNjQuNDE0MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzEzMCcgeDI9JzEzMCcgeTE9JzUxLjYwOTQnIHkyPSc2NC40MTQxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTU4JyB4Mj0nMTU4JyB5MT0nNTEuNjA5NCcgeTI9JzY0LjQxNDEnLz48cmVjdCBmaWxsPScjRkVGRUNFJyBoZWlnaHQ9JzEyLjgwNDcnIHN0eWxlPSdzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzQ0JyB4PScxNjInIHk9JzY4LjQxNDEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNjInIHgyPScyMDYnIHkxPSc2OC40MTQxJyB5Mj0nNjguNDE0MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzE2MicgeDI9JzIwNicgeTE9JzgxLjIxODgnIHkyPSc4MS4yMTg4Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTYyJyB4Mj0nMTYyJyB5MT0nNjguNDE0MScgeTI9JzgxLjIxODgnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMDYnIHgyPScyMDYnIHkxPSc2OC40MTQxJyB5Mj0nODEuMjE4OCcvPjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGhlaWdodD0nMTIuODA0Nycgc3R5bGU9J3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMjgnIHg9JzIxMCcgeT0nODUuMjE4OCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIxMCcgeDI9JzIzOCcgeTE9Jzg1LjIxODgnIHkyPSc4NS4yMTg4Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjEwJyB4Mj0nMjM4JyB5MT0nOTguMDIzNCcgeTI9Jzk4LjAyMzQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMTAnIHgyPScyMTAnIHkxPSc4NS4yMTg4JyB5Mj0nOTguMDIzNCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIzOCcgeDI9JzIzOCcgeTE9Jzg1LjIxODgnIHkyPSc5OC4wMjM0Jy8+PHJlY3QgZmlsbD0nI0ZFRkVDRScgaGVpZ2h0PScxMi44MDQ3JyBzdHlsZT0nc3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyOCcgeD0nMjQyJyB5PScxMDIuMDIzNCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzI0MicgeDI9JzI3MCcgeTE9JzEwMi4wMjM0JyB5Mj0nMTAyLjAyMzQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyNDInIHgyPScyNzAnIHkxPScxMTQuODI4MScgeTI9JzExNC44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjQyJyB4Mj0nMjQyJyB5MT0nMTAyLjAyMzQnIHkyPScxMTQuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzI3MCcgeDI9JzI3MCcgeTE9JzEwMi4wMjM0JyB5Mj0nMTE0LjgyODEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMScgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc4OScgeD0nMTgnIHk9JzI4LjIxMDQnPkhlYWRzIHVwIGVtYWlsPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzExJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEyMCcgeD0nMTMwJyB5PSc0NS4wMTUxJz5PcGVuIHJlbGVhc2UgYnJhbmNoPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzExJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzE3OScgeD0nMTYyJyB5PSc2MS44MTk4Jz5QcmVwYXJlIGRpc3RyaWJ1dGlvbiBmb3Igc3RhZ2luZzwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMScgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxNzcnIHg9JzIxMCcgeT0nNzguNjI0NSc+Vm90ZSBmb3IgZGlzdHJpYnV0aW9uIG9uIHN0YWdpbmc8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTEnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTgwJyB4PScyNDInIHk9Jzk1LjQyOTInPlByZXBhcmUgZGlzdHJpYnV0aW9uIGZvciByZWxlYXNlPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzExJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEwMicgeD0nMjc0JyB5PScxMTIuMjMzOSc+QW5ub3VuY2UgcmVsZWFzZTwvdGV4dD48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScwJyB4Mj0nMCcgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNicgeDI9JzE2JyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMyJyB4Mj0nMzInIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNDgnIHgyPSc0OCcgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc2NCcgeDI9JzY0JyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzgwJyB4Mj0nODAnIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nOTYnIHgyPSc5NicgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMTInIHgyPScxMTInIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTI4JyB4Mj0nMTI4JyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzE0NCcgeDI9JzE0NCcgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNjAnIHgyPScxNjAnIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTc2JyB4Mj0nMTc2JyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzE5MicgeDI9JzE5MicgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMDgnIHgyPScyMDgnIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjI0JyB4Mj0nMjI0JyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzI0MCcgeDI9JzI0MCcgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyNTYnIHgyPScyNTYnIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjcyJyB4Mj0nMjcyJyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSc1JyB5PScxMjkuMTEwNCc+MTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNicgeD0nMjEnIHk9JzEyOS4xMTA0Jz4yPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSczNycgeT0nMTI5LjExMDQnPjM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzYnIHg9JzUzJyB5PScxMjkuMTEwNCc+NDwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNicgeD0nNjknIHk9JzEyOS4xMTA0Jz41PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSc4NScgeT0nMTI5LjExMDQnPjY8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzYnIHg9JzEwMScgeT0nMTI5LjExMDQnPjc8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzYnIHg9JzExNycgeT0nMTI5LjExMDQnPjg8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzYnIHg9JzEzMycgeT0nMTI5LjExMDQnPjk8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEyJyB4PScxNDYnIHk9JzEyOS4xMTA0Jz4xMDwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTInIHg9JzE2MicgeT0nMTI5LjExMDQnPjExPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMTc4JyB5PScxMjkuMTEwNCc+MTI8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEyJyB4PScxOTQnIHk9JzEyOS4xMTA0Jz4xMzwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTInIHg9JzIxMCcgeT0nMTI5LjExMDQnPjE0PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMjI2JyB5PScxMjkuMTEwNCc+MTU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEyJyB4PScyNDInIHk9JzEyOS4xMTA0Jz4xNjwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTInIHg9JzI1OCcgeT0nMTI5LjExMDQnPjE3PC90ZXh0PjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzAnIHgyPScyNzInIHkxPScxMTkuODI4MScgeTI9JzExOS44MjgxJy8+PC9nPjwvc3ZnPg==" alt="Diagram" width="100%" height="134">
+</div>
+<div class="title">Figure 4. Release Schedule</div>
+</div>
+<div class="sect2">
+<h3 id="_configuration">Configuration</h3>
+<div class="paragraph">
+<p>Before you can start using the Fineract release plugin to create releases you have to configure and setup a couple of things first.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>All official communication concerning releases happens on the <a href="mailto:dev@fineract.apache.org">mailing list</a>. Every release manager needs to be a member of and engaging on the mailing list for credibility.</p>
+</li>
+<li>
+<p>Make sure you have edit permissions on the <a href="https://cwiki.apache.org/confluence/display/FINERACT">Apache Confluence Wiki</a></p>
+</li>
+<li>
+<p>You need full permissions on <a href="https://issues.apache.org/jira">Apache JIRA</a> to be able to move issues to the next release</p>
+</li>
+<li>
+<p>Git committer privileges to be allowed to create tags and the release branch</p>
+</li>
+<li>
+<p>Familiarity with building Fineract locally and creating release distributions is required</p>
+</li>
+<li>
+<p>You need to be a member of the PMC to be able to upload release artifacts; this task can be delegated though</p>
+</li>
+<li>
+<p>A general Familiarity with PGP/GPG is recommended (at least to setup your keypairs), but the release plugin does most of the heavy lifting</p>
+</li>
+<li>
+<p>Make sure to read the release plugin documentation for troubleshooting</p>
+</li>
+</ul>
+</div>
+<div class="sect3">
+<h4 id="_secrets">Secrets</h4>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="sect4">
+<h5 id="_infrastructure_team">Infrastructure Team</h5>
+<div class="paragraph">
+<p>A couple of secrets for third party services are automatically configured by the infrastructure team at The Apache Foundation for the Fineract Github account. At the moment this includes environment variables for:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Github token (e. g. to publish Github Pages, use the Github API in Github Actions)</p>
+</li>
+<li>
+<p>Docker Hub token (to publish our Docker images)</p>
+</li>
+<li>
+<p>Sonar Cloud token (for our code quality reports)</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>See also:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="https://infra.apache.org/github-pages.html" class="bare">infra.apache.org/github-pages.html</a></p>
+</li>
+<li>
+<p><a href="https://cwiki.apache.org/confluence/display/INFRA/Github+Actions+to+DockerHub" class="bare">cwiki.apache.org/confluence/display/INFRA/Github+Actions+to+DockerHub</a></p>
+</li>
+<li>
+<p><a href="https://github.com/apache/jmeter-site-preview" class="bare">github.com/apache/jmeter-site-preview</a></p>
+</li>
+<li>
+<p><a href="https://github.com/apache/fineract-site" class="bare">github.com/apache/fineract-site</a></p>
+</li>
+<li>
+<p><a href="https://github.com/apache/systemds-website/blob/main/.asf.yaml" class="bare">github.com/apache/systemds-website/blob/main/.asf.yaml</a></p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_lastpass">Lastpass</h5>
+<div class="paragraph">
+<p>It seems that Apache has some kind of org account or similar. Popped up a couple of times in the infrastructure documentation.</p>
+</div>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_1password">1Password</h5>
+<div class="paragraph">
+<p>Other Fineract development related secrets, e. g. for deployments of demo systems on Google Cloud, AWS etc. are managed in a team account at 1Password. At the moment the following committers are members of the 1Password team account:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p><a href="mailto:edcable@apache.org">Ed Cable</a></p>
+</li>
+<li>
+<p><a href="mailto:vorburger@apache.org">Michael Vorburger</a></p>
+</li>
+<li>
+<p><a href="mailto:ptuomola@apache.org">Petri Tuomola</a></p>
+</li>
+<li>
+<p><a href="mailto:arnold@apache.org">Arnold Galovics</a></p>
+</li>
+<li>
+<p><a href="mailto:aleks@apache.org">Aleksandar Vidakovic</a></p>
+</li>
+</ul>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+If you need access or have any questions related to those secrets then please reach out to one of the team members.
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_gpg_2">GPG</h4>
+<div class="paragraph">
+<p>Generate GPG key pairs if you don&#8217;t already have them and publish them. Please use your Apache email address when creating your GPG keypair. If you already have configured GPG and associated your keypair with a non-Apache email address then please consider creating a separate one just for all things related to Fineract (or Apache in general).</p>
+</div>
+<div class="paragraph">
+<p>Instructions:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Check your GPG version:</p>
+<div class="listingblock">
+<div class="title">Input GPG version</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">gpg --version</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="title">Output GPG version</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">gpg (GnuPG) 2.2.27
+libgcrypt 1.9.4
+Copyright (C) 2021 Free Software Foundation, Inc.
+License GNU GPL-3.0-or-later &lt;https://gnu.org/licenses/gpl.html&gt;
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+
+Home: /home/aleks/.gnupg
+Supported algorithms:
+Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
+Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
+        CAMELLIA128, CAMELLIA192, CAMELLIA256
+Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
+Compression: Uncompressed, ZIP, ZLIB, BZIP2</code></pre>
+</div>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+The insecure hash algorithm SHA1 is still supported in version 2.2.27. SHA1 is obsolete and you don&#8217;t want to use it to generate your signature.
+</td>
+</tr>
+</table>
+</div>
+</li>
+<li>
+<p>Generate your GPG key pair:</p>
+<div class="listingblock">
+<div class="title">Input generate GPG key pair</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">gpg --full-gen-key</code></pre>
+</div>
+</div>
+<div class="listingblock">
+<div class="title">Output generate GPG key pair (step 1: key type selection)</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">gpg (GnuPG) 2.2.27; Copyright (C) 2021 Free Software Foundation, Inc.
+This is free software: you are free to change and redistribute it.
+There is NO WARRANTY, to the extent permitted by law.
+
+Please select what kind of key you want:
+   (1) RSA and RSA (default)
+   (2) DSA and Elgamal
+   (3) DSA (sign only)
+   (4) RSA (sign only)
+  (14) Existing key from card
+Your selection?</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>There are four options. The default is to use RSA to create the key pair. Good enough for us.</p>
+</div>
+<div class="listingblock">
+<div class="title">Output generate GPG key pair (step 2: key length selection)</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">RSA keys may be between 1024 and 4096 bits long.
+What keysize do you want? (2048)</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>The default key length is 2048 bits. 1024 is obsolete and a longer 4096 RSA key will not provide more security than 2048 RSA key. Use the default.</p>
+</div>
+<div class="listingblock">
+<div class="title">Output generate GPG key pair (step 3: validity selection)</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">Requested keysize is 2048 bits
+Please specify how long the key should be valid.
+ 0 = key does not expire
+ &lt;n&gt; = key expires in n days
+ &lt;n&gt;w = key expires in n weeks
+ &lt;n&gt;m = key expires in n months
+ &lt;n&gt;y = key expires in n years
+Key is valid for? (0)2y</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>2 years for the validity of your keys should be fine. You can always update the expiration time later on.</p>
+</div>
+<div class="listingblock">
+<div class="title">Output generate GPG key pair (step 4: confirmation)</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">Key expires at Sun 16 Apr 2024 08:10:24 PM UTC
+Is this correct? (y/N)y</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Confirm if everything is correct.</p>
+</div>
+<div class="listingblock">
+<div class="title">Output generate GPG key pair (step 5: provide user details)</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">GnuPG needs to construct a user ID to identify your key.
+Real name: Aleksandar Vidakovic
+Email address: aleks@apache.org
+Comment:</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Provide your user details for the key. This is important because this information will be included in our key. It&#8217;s one way of indicating who is owner of this key. The email address is a unique identifier for a person. You can leave Comment blank.</p>
+</div>
+<div class="listingblock">
+<div class="title">Output generate GPG key pair (step 6: user ID selection)</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">You selected this USER-ID:
+&quot;Aleksandar Vidakovic &lt;aleks@apache.org&gt;&quot;
+Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Select <code>Okay</code>.</p>
+</div>
+<div class="paragraph">
+<p>After the selection of your user ID GPG will ask for a passphrase to protect your private key. Maybe time to open your password manager and generate a secure one and save it in your vault. Once you&#8217;ve confirmed your password GPG will start to generate your keys.</p>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+Don&#8217;t lose your private key password. You won&#8217;t be able to unlock and use your private key without it.
+</td>
+</tr>
+</table>
+</div>
+<div class="listingblock">
+<div class="title">Output generate GPG key pair (step 7: gpg key pair generation)</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">We need to generate a lot of random bytes. It is a good idea to perform
+some other action (type on the keyboard, move the mouse, utilize the
+disks) during the prime generation; this gives the random number
+generator a better chance to gain enough entropy.</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Generating the GPG keys will take a while.</p>
+</div>
+<div class="listingblock">
+<div class="title">Output generate GPG key pair (step 8: gpg key pair finished)</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">gpg: key 7890ABCD marked as ultimately trusted <i class="conum" data-value="1"></i><b>(1)</b>
+gpg: directory '/home/aleks/.gnupg/openpgp-revocs.d' created
+gpg: revocation certificate stored as '/home/aleks/.gnupg/openpgp-revocs.d/ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCD.rev' <i class="conum" data-value="2"></i><b>(2)</b>
+public and secret key created and signed.
+
+gpg: checking the trustdb
+gpg: marginals needed: 3 completes needed: 1 trust model: PGP
+gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
+gpg: next trustdb check due at 2024-04-16
+pub rsa2048/7890ABCD 2022-04-16 [S] [expires: 2024-04-16] <i class="conum" data-value="3"></i><b>(3)</b>
+Key fingerprint = ABCD EFGH IJKL MNOP QRST UVWX YZ12 3456 7890 ABCD <i class="conum" data-value="4"></i><b>(4)</b>
+uid     [ultimate] Aleksandar Vidakovic &lt;aleks@apache.org&gt; <i class="conum" data-value="5"></i><b>(5)</b>
+sub rsa2048/4FGHIJ56 2022-04-16 [] [expires: 2024-04-16]</code></pre>
+</div>
+</div>
+<div class="colist arabic">
+<table>
+<tr>
+<td><i class="conum" data-value="1"></i><b>1</b></td>
+<td>GPG created a unique identifier in HEX format for your public key. When someone wants to download your public key, they can refer to it either with your email address or this HEX value.</td>
+</tr>
+<tr>
+<td><i class="conum" data-value="2"></i><b>2</b></td>
+<td>GPG created a revocation certificate and its directory. You should never share your private key. If your private key is compromised, you need to use your revocation certificate to revoke your key.</td>
+</tr>
+<tr>
+<td><i class="conum" data-value="3"></i><b>3</b></td>
+<td>The public key is 2048 bits using RSA algorithm and shows the expiration date of 16 Apr 2024. The public key ID <code>7890ABCD</code> matches the last 8 bits of key fingerprint.</td>
+</tr>
+<tr>
+<td><i class="conum" data-value="4"></i><b>4</b></td>
+<td>The key fingerprint (<code>ABCD EFGH IJKL MNOP QRST UVWX YZ12 3456 7890 ABCD</code>) is a hash of your public key.</td>
+</tr>
+<tr>
+<td><i class="conum" data-value="5"></i><b>5</b></td>
+<td>Your name and your email address are shown with information about the subkey.</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Now you can find that there are two files created under ~/.gnupg/private-keys-v1.d/ directory. These two files are binary files with .key extension.</p>
+</div>
+</li>
+<li>
+<p>Export your public key:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">gpg --armor --export aleks@apache.org &gt; pubkey.asc</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Export Your Private Key:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">gpg --export-secret-keys --armor aleks@apache.org &gt; privkey.asc</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Protect Your Private Key and Revocation Certificate</p>
+<div class="paragraph">
+<p>Your private key should be kept in a safe place, like an encrypted flash drive. Treat it like your house key. Only you can have it and don&#8217;t lose it. And you must remember your passphrase, otherwise you can&#8217;t unlock your private key.</p>
+</div>
+<div class="paragraph">
+<p>You should protect your revocation certificate. Anyone in posession of your revocation certificate, could immediately revoke your public/private key pair and generate fake ones.</p>
+</div>
+</li>
+</ol>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+Please contact a PMC member to add your GPG public key in Fineract&#8217;s Subversion repository. This is necessary to be able to validate published releases.
+</td>
+</tr>
+</table>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Upload your GPG key to a keyserver:</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">gpg --send-keys ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCD</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Before doing this, make sure that your default keyserver is hkp://keyserver.ubuntu.com/. You can do this by changing the default keyserver in ~/.gnupg/dirmngr.conf:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">keyserver hkp://keyserver.ubuntu.com/</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Alternatively you can provide the keyserver whith the send command:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">gpg --keyserver 'hkp://keyserver.ubuntu.com:11371' --send-keys ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCD</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Another option to publish your key is to submit an armored public key directly at <a href="https://keyserver.ubuntu.com/" class="bare">keyserver.ubuntu.com/</a>. You can create the necessary data with this command by providing the email address that you used when you created your key pair:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">gpg --armor --export aleks@apache.org</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Output:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQINBF8iGq0BEADGRqeSsOoNDc1sV3L9sQ34KhmoQrACnMYGztx33TD98aWplul+
+jm8uGtMmBus4DJJJap1bVQ1oMehw2mscmDHpfJjLNZ/q+vUqbExx1/CER7XvLryN
+&lt;--- snip ---&gt;
+2nHBuBftxDRpDHQ+O5XYwSDSTDMmthPjx0vJGBH4K1kO8XK99e01A6/oYLV2SMKp
+gXXeWjafxBmHT1cM8hoBZBYzgTu9nK5UnllWunfaHXiCBG4oQQ==
+=85/F
+-----END PGP PUBLIC KEY BLOCK-----</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>= Email</p>
+</div>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Official communication related to releases needs to be done with an Apache email address. The Apache Foundation doesn&#8217;t provide any real email inboxes anymore and just relays emails to your configured private account (GMail etc.).</p>
+</div>
+<div class="admonitionblock important">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-important" title="Important"></i>
+</td>
+<td class="content">
+At the moment we are supporting only GMail accounts. Please let us know if you have other configuration recipes for other email providers.
+</td>
+</tr>
+</table>
+</div>
+<div class="sect4">
+<h5 id="_gmail">GMail</h5>
+<div class="paragraph">
+<p>You can configure your GMail account and add another profile to use the Apache relay server if you need to send official messages. Please follow these instructions:</p>
+</div>
+<div class="paragraph">
+<p>TBD.</p>
+</div>
+<div class="paragraph">
+<p>See also: <a href="https://gmail.googleblog.com/2009/07/send-mail-from-another-address-without.html">Send mail from another address without "on behalf of"</a></p>
+</div>
+<div class="paragraph">
+<p>To be able to send emails via SMTP with your GMail account you probably need to create an app password. Please follow these instructions:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Go to your Google Account.</p>
+</li>
+<li>
+<p>Select Security.</p>
+</li>
+<li>
+<p>Under "Signing in to Google," select App Passwords. You may need to sign in. If you don&#8217;t have this option, it might be because:</p>
+</li>
+<li>
+<p>2-Step Verification is not set up for your account.</p>
+</li>
+<li>
+<p>2-Step Verification is only set up for security keys.</p>
+</li>
+<li>
+<p>Your account is through work, school, or other organization.</p>
+</li>
+<li>
+<p>You turned on Advanced Protection.</p>
+</li>
+<li>
+<p>At the bottom, choose Select app and choose the app you using and then Select device and choose the device you&#8217;re using and then Generate.</p>
+</li>
+<li>
+<p>Follow the instructions to enter the App Password. The App Password is the 16-character code in the yellow bar on your device.</p>
+</li>
+<li>
+<p>Tap Done.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>See also: <a href="https://support.google.com/accounts/answer/185833?p=InvalidSecondFactor&amp;visit_id=637856439524128323-869822459&amp;rd=1">Google Support: Sign in with App Passwords</a> for more details.</p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_2">Gradle</h5>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="sect5">
+<h6 id="_user_properties">User Properties</h6>
+<div class="paragraph">
+<p>There are a couple of properties that contain committer/release manager related secrets. Please add the following properties to your personal global Gradle properties (you will find them at <code>~/.gradle/gradle.properties</code> in your home folder).</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="properties">fineract.config.gnupg.keyName=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCD<i class="conum" data-value="1"></i><b>(1)</b>
+fineract.config.gnupg.password=******
+fineract.config.gnupg.publicKeyring=~/.gnupg/pubring.kbx<i class="conum" data-value="2"></i><b>(2)</b>
+fineract.config.gnupg.secretKeyring=~/.gnupg/secring.gpg
+fineract.config.smtp.username=aleks@gmail.com <i class="conum" data-value="3"></i><b>(3)</b>
+fineract.config.smtp.password=******
+fineract.config.name=Aleksandar Vidakovic
+fineract.config.email=aleks@apache.org
+fineract.config.username=aleks <i class="conum" data-value="4"></i><b>(4)</b>
+fineract.config.password=******</code></pre>
+</div>
+</div>
+<div class="colist arabic">
+<table>
+<tr>
+<td><i class="conum" data-value="1"></i><b>1</b></td>
+<td>Make sure you use the full GPG key name (you can list yours via <code>gpg --list-secret-keys --keyid-format=long</code>)</td>
+</tr>
+<tr>
+<td><i class="conum" data-value="2"></i><b>2</b></td>
+<td>GnuPG has it&#8217;s own kbx format to store the public key ring. At the moment we are only supporting this format</td>
+</tr>
+<tr>
+<td><i class="conum" data-value="3"></i><b>3</b></td>
+<td>Currently we only have instructions for GMail</td>
+</tr>
+<tr>
+<td><i class="conum" data-value="4"></i><b>4</b></td>
+<td>Apache committer credentials</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+<strong>Never</strong> add any personal secrets in the project gradle.properties. Double check that you are not accidentally committing them to Git!
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect5">
+<h6 id="_release_plugin">Release Plugin</h6>
+<div class="paragraph">
+<p>Creating Apache Fineract releases was a very manual and tedious procedure before we created the Gradle release plugin. It was easy - even with documentation - to forget a detail. Some ideas are borrowed from the excellent <a href="https://jreleaser.org">JReleaser</a> tool. Unfortunately at the moment we can&#8217;t use it for the full release process. Being an Apache project we have certain requirements that are not fully covered by <a href="https://jreleaser.org">JReleaser</a>.</p>
+</div>
+<div class="sect6">
+<h7 id="_release_plugin_configuration">Release Plugin Configuration</h7>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="groovy">    config {
+        username = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.username</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+        password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+
+        doc {
+            url = <span class="string"><span class="delimiter">'</span><span class="content">git@github.com:apache/fineract-site.git</span><span class="delimiter">'</span></span>
+            directory = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span><span class="predefined-type">System</span>.getProperty(<span class="string"><span class="delimiter">&quot;</span><span class="content">java.io.tmpdir</span><span class="delimiter">&quot;</span></span>)<span class="inline-delimiter">}</span></span><span class="content">/fineract-site</span><span class="delimiter">&quot;</span></span>
+            branch = <span class="string"><span class="delimiter">&quot;</span><span class="content">asf-site</span><span class="delimiter">&quot;</span></span>
+        }
+        git {
+            dir = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>projectDir.absolutePath<span class="inline-delimiter">}</span></span><span class="content">/.git</span><span class="delimiter">&quot;</span></span>
+            sections = [
+                [
+                    <span class="key">section</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">user</span><span class="delimiter">&quot;</span></span>,
+                    <span class="key">name</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">name</span><span class="delimiter">&quot;</span></span>,
+                    <span class="key">value</span>: <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.name</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>,
+                ],
+                [
+                    <span class="key">section</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">user</span><span class="delimiter">&quot;</span></span>,
+                    <span class="key">name</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">email</span><span class="delimiter">&quot;</span></span>,
+                    <span class="key">value</span>: <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.email</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>,
+                ],
+                [
+                    <span class="key">section</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">user</span><span class="delimiter">&quot;</span></span>,
+                    <span class="key">name</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">signingkey</span><span class="delimiter">&quot;</span></span>,
+                    <span class="key">value</span>: <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.gnupg.keyName</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>,
+                ],
+                [
+                    <span class="key">section</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">commit</span><span class="delimiter">&quot;</span></span>,
+                    <span class="key">name</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">gpgsign</span><span class="delimiter">&quot;</span></span>,
+                    <span class="key">value</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">true</span><span class="delimiter">&quot;</span></span>,
+                ],
+            ]
+        }
+        template {
+            templateDir = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>projectDir<span class="inline-delimiter">}</span></span><span class="content">/buildSrc/src/main/resources</span><span class="delimiter">&quot;</span></span>
+        }
+        gpg {
+            keyName = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.gnupg.keyName</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+            publicKeyring = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.gnupg.publicKeyring</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+            secretKeyring = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.gnupg.secretKeyring</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+            password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.gnupg.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+        }
+        smtp {
+            host = <span class="string"><span class="delimiter">'</span><span class="content">smtp.gmail.com</span><span class="delimiter">'</span></span>
+            username = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.smtp.username</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+            password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.smtp.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+            tls = <span class="predefined-constant">true</span>
+            ssl = <span class="predefined-constant">true</span>
+        }
+        subversion {
+            username = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.username</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+            password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+            revision = <span class="string"><span class="delimiter">'</span><span class="content">HEAD</span><span class="delimiter">'</span></span>
+        }
+        jira {
+            url = <span class="string"><span class="delimiter">'</span><span class="content">https://issues.apache.org/jira/rest/api/2/</span><span class="delimiter">'</span></span>
+            username = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.username</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+            password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+        }
+        confluence {
+            url = <span class="string"><span class="delimiter">'</span><span class="content">https://cwiki.apache.org/confluence/rest/api/</span><span class="delimiter">'</span></span>
+            username = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.username</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+            password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
+        }
+    }</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_process">Release Process</h3>
+<div class="paragraph">
+<p>TODO:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>create "Jira anchor ticket" with all issues linked that are going into this release.</p>
+</li>
+<li>
+<p>maintenance: continuously update the "Jira anchor ticket" to make sure we catch all ticket changes</p>
+</li>
+<li>
+<p>maintenance: list tickets that have discrepancies, e. g. tickets still open while associated PR merged, ticket on wrong version (i. e. associated PR already merged before with another release).</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+Consider the Gradle plugin commands an experimental feature!
+</td>
+</tr>
+</table>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnIHN0YW5kYWxvbmU9J25vJz8+PHN2ZyBjb250ZW50U2NyaXB0VHlwZT0nYXBwbGljYXRpb24vZWNtYXNjcmlwdCcgY29udGVudFN0eWxlVHlwZT0ndGV4dC9jc3MnIGhlaWdodD0nMTU2OXB4JyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lJyBzdHlsZT0nd2lkdGg6NDIzcHg7aGVpZ2h0OjE1NjlweDtiYWNrZ3JvdW5kOiNGRkZGRkY7JyB2ZXJzaW9uPScxLjEnIHZpZXdCb3g9JzAgMCA0MjMgMTU2OScgd2lkdGg9JzQyM3B4JyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB6b29tQW5kUGFuPSdtYWduaWZ5Jz48ZGVmcz48ZmlsdGVyIGhlaWdodD0nMzAwJScgaWQ9J2ZyZ3YzZWlyN3FmOTcnIHdpZHRoPSczMDAlJyB4PSctMScgeT0nLTEnPjxmZUdhdXNzaWFuQmx1ciByZXN1bHQ9J2JsdXJPdXQnIHN0ZERldmlhdGlvbj0nMi4wJy8+PGZlQ29sb3JNYXRyaXggaW49J2JsdXJPdXQnIHJlc3VsdD0nYmx1ck91dDInIHR5cGU9J21hdHJpeCcgdmFsdWVzPScwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAuNCAwJy8+PGZlT2Zmc2V0IGR4PSc0LjAnIGR5PSc0LjAnIGluPSdibHVyT3V0MicgcmVzdWx0PSdibHVyT3V0MycvPjxmZUJsZW5kIGluPSdTb3VyY2VHcmFwaGljJyBpbjI9J2JsdXJPdXQzJyBtb2RlPSdub3JtYWwnLz48L2ZpbHRlcj48L2RlZnM+PGc+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTgnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMjE4JyB4PSc5NicgeT0nMTYuNzA4Jz5GaW5lcmFjdCBSZWxlYXNlIFByb2Nlc3M8L3RleHQ+PGVsbGlwc2UgY3g9JzIwOCcgY3k9JzM2Ljk1MzEnIGZpbGw9JyMwMDAwMDAnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgcng9JzEwJyByeT0nMTAnIHN0eWxlPSdzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS4wOycvPjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzIxOScgeD0nOTguNScgeT0nMTI5Ljk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxOTknIHg9JzEwOC41JyB5PScxNTEuMDkxOCc+U3RlcCAwOiBTZWxlY3QgcmVsZWFzZSBtYW5hZ2VyPC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzMxNCcgeD0nNTEnIHk9JzIwNC45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMjk0JyB4PSc2MScgeT0nMjI2LjA5MTgnPlN0ZXAgMTogU2VuZCBoZWFkcy11cCBlbWFpbCB0byBkZXYgbWFpbGluZyBsaXN0PC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzE1MCcgeD0nMTMzJyB5PScyNzkuOTUzMScvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEzMCcgeD0nMTQzJyB5PSczMDEuMDkxOCc+U3RlcCAyOiBDbGVhbiB1cCBKSVJBPC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzIyMicgeD0nOTcnIHk9JzM1NC45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMjAyJyB4PScxMDcnIHk9JzM3Ni4wOTE4Jz5TdGVwIDM6IENyZWF0ZSBhIHJlbGVhc2UgYnJhbmNoPC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzE4NScgeD0nMTE1LjUnIHk9JzQyOS45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTY1JyB4PScxMjUuNScgeT0nNDUxLjA5MTgnPlN0ZXAgNDogRnJlZXplIEpJUkEgdmVyc2lvbjwvdGV4dD48cmVjdCBmaWxsPScjRkVGRUNFJyBmaWx0ZXI9J3VybCgjZnJndjNlaXI3cWY5NyknIGhlaWdodD0nMzMuOTY4OCcgcng9JzEyLjUnIHJ5PScxMi41JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHdpZHRoPSczMTcnIHg9JzQ5LjUnIHk9JzUwNC45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMjk3JyB4PSc1OS41JyB5PSc1MjYuMDkxOCc+Q29udGludWUgd2l0aCBkZXZlbG9wbWVudCBvbiAnZGV2ZWxvcCcgYnJhbmNoPC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzE4NycgeD0nMTE0LjUnIHk9JzU5Mi45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTY3JyB4PScxMjQuNScgeT0nNjE0LjA5MTgnPlN0ZXAgNTogQ3JlYXRlIHJlbGVhc2UgdGFnPC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzE5OCcgeD0nMTA5JyB5PSc2NjcuOTUzMScvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzE3OCcgeD0nMTE5JyB5PSc2ODkuMDkxOCc+U3RlcCA2OiBDcmVhdGUgYSBkaXN0cmlidXRpb248L3RleHQ+PHJlY3QgZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBoZWlnaHQ9JzMzLjk2ODgnIHJ4PScxMi41JyByeT0nMTIuNScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB3aWR0aD0nMjUyJyB4PSc4MicgeT0nNzQyLjk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyMzInIHg9JzkyJyB5PSc3NjQuMDkxOCc+U3RlcCA3OiBTaWduIHRoZSBkaXN0cmlidXRpb24gYXJ0aWZhY3RzPC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzM5NCcgeD0nMTEnIHk9JzgxNy45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzc0JyB4PScyMScgeT0nODM5LjA5MTgnPlN0ZXAgODogVXBsb2FkIGRpc3RyaWJ1dGlvbiBhcnRpZmFjdHMgdG8gc3RhZ2luZyBlbnZpcm9ubWVudDwvdGV4dD48cmVjdCBmaWxsPScjRkVGRUNFJyBmaWx0ZXI9J3VybCgjZnJndjNlaXI3cWY5NyknIGhlaWdodD0nMzMuOTY4OCcgcng9JzEyLjUnIHJ5PScxMi41JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHdpZHRoPSczMjYnIHg9JzQ1JyB5PSc4OTIuOTUzMScvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzMwNicgeD0nNTUnIHk9JzkxNC4wOTE4Jz5TdGVwIDk6IFZlcmlmeSBkaXN0cmlidXRpb24gaW4gc3RhZ2luZyBlbnZpcm9ubWVudDwvdGV4dD48cmVjdCBmaWxsPScjRkVGRUNFJyBmaWx0ZXI9J3VybCgjZnJndjNlaXI3cWY5NyknIGhlaWdodD0nMzMuOTY4OCcgcng9JzEyLjUnIHJ5PScxMi41JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHdpZHRoPScyOTEnIHg9JzYyLjUnIHk9Jzk2Ny45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMjcxJyB4PSc3Mi41JyB5PSc5ODkuMDkxOCc+U3RlcCAxMDogU3RhcnQgdm90aW5nIG9uIHRoZSBkZXYgbWFpbGluZyBsaXN0PC90ZXh0Pjxwb2x5Z29uIGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgcG9pbnRzPScyMDgsMTA0Mi45NTMxLDIyMCwxMDU0Ljk1MzEsMjA4LDEwNjYuOTUzMSwxOTYsMTA1NC45NTMxLDIwOCwxMDQyLjk1MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycvPjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzMzMycgeD0nNDEuNScgeT0nMTEyMC45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzEzJyB4PSc1MS41JyB5PScxMTQyLjA5MTgnPlN0ZXAgMTE6IENvbmNsdWRlIHRoZSB2b3RlIGFuZCBhbm5vdW5jZSByZXN1bHRzPC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzQwMicgeD0nNycgeT0nMTE5NS45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzgyJyB4PScxNycgeT0nMTIxNy4wOTE4Jz5TdGVwIDEyOiBVcGxvYWQgZGlzdHJpYnV0aW9uIGFydGlmYWN0cyB0byByZWxlYXNlIGVudmlyb25tZW50PC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzM1OCcgeD0nMjknIHk9JzEyNzAuOTUzMScvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzMzOCcgeD0nMzknIHk9JzEyOTIuMDkxOCc+U3RlcCAxMzogQ2xvc2UgcmVsZWFzZSBicmFuY2ggYW5kIG1lcmdlIHRvICdkZXZlbG9wJzwvdGV4dD48cmVjdCBmaWxsPScjRkVGRUNFJyBmaWx0ZXI9J3VybCgjZnJndjNlaXI3cWY5NyknIGhlaWdodD0nMzMuOTY4OCcgcng9JzEyLjUnIHJ5PScxMi41JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHdpZHRoPSczMDYnIHg9JzU1JyB5PScxMzQ1Ljk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyODYnIHg9JzY1JyB5PScxMzY3LjA5MTgnPlN0ZXAgMTQ6IFVwZGF0ZSB3ZWJzaXRlIChub3QgeWV0IGF1dG9tYXRlZCk8L3RleHQ+PHJlY3QgZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBoZWlnaHQ9JzMzLjk2ODgnIHJ4PScxMi41JyByeT0nMTIuNScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB3aWR0aD0nMzMyJyB4PSc0MicgeT0nMTQyMC45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzEyJyB4PSc1MicgeT0nMTQ0Mi4wOTE4Jz5TdGVwIDE1OiBTZW5kIGVtYWlsIHRvIGFubm91bmNlbWVudCBtYWlsaW5nIGxpc3Q8L3RleHQ+PGVsbGlwc2UgY3g9JzIwOCcgY3k9JzE1NDcuOTUzMScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyByeD0nMTAnIHJ5PScxMCcgc3R5bGU9J3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoxLjA7ZmlsbDpub25lOycvPjxlbGxpcHNlIGN4PScyMDguNScgY3k9JzE1NDguNDUzMScgZmlsbD0nIzAwMDAwMCcgcng9JzYnIHJ5PSc2JyBzdHlsZT0nc3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cGF0aCBkPSdNMjA4LDQ3LjE2MzEgQzIwOCw2NC4yMzMxIDIwOCwxMDEuMjAzMSAyMDgsMTI0Ljc1MzEgJyBmaWxsPSdub25lJyBpZD0nc3RhcnQtdG8tU3RlcCAwOiBTZWxlY3QgcmVsZWFzZSBtYW5hZ2VyJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIwOCwxMjkuODUzMSwyMTIsMTIwLjg1MzEsMjA4LDEyNC44NTMxLDIwNCwxMjAuODUzMSwyMDgsMTI5Ljg1MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwYXRoIGQ9J00yMDgsMTY0LjE1MzEgQzIwOCwxNzQuNjQzMSAyMDgsMTg4LjQxMzEgMjA4LDE5OS43NzMxICcgZmlsbD0nbm9uZScgaWQ9J1N0ZXAgMDogU2VsZWN0IHJlbGVhc2UgbWFuYWdlci10by1TdGVwIDE6IFNlbmQgaGVhZHMtdXAgZW1haWwgdG8gZGV2IG1haWxpbmcgbGlzdCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDgsMjA0Ljc5MzEsMjEyLDE5NS43OTMxLDIwOCwxOTkuNzkzMSwyMDQsMTk1Ljc5MzEsMjA4LDIwNC43OTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cGF0aCBkPSdNMjA4LDIzOS4xNTMxIEMyMDgsMjQ5LjY0MzEgMjA4LDI2My40MTMxIDIwOCwyNzQuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDE6IFNlbmQgaGVhZHMtdXAgZW1haWwgdG8gZGV2IG1haWxpbmcgbGlzdC10by1TdGVwIDI6IENsZWFuIHVwIEpJUkEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjA4LDI3OS43OTMxLDIxMiwyNzAuNzkzMSwyMDgsMjc0Ljc5MzEsMjA0LDI3MC43OTMxLDIwOCwyNzkuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwOCwzMTQuMTUzMSBDMjA4LDMyNC42NDMxIDIwOCwzMzguNDEzMSAyMDgsMzQ5Ljc3MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCAyOiBDbGVhbiB1cCBKSVJBLXRvLVN0ZXAgMzogQ3JlYXRlIGEgcmVsZWFzZSBicmFuY2gnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjA4LDM1NC43OTMxLDIxMiwzNDUuNzkzMSwyMDgsMzQ5Ljc5MzEsMjA0LDM0NS43OTMxLDIwOCwzNTQuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwOCwzODkuMTUzMSBDMjA4LDM5OS42NDMxIDIwOCw0MTMuNDEzMSAyMDgsNDI0Ljc3MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCAzOiBDcmVhdGUgYSByZWxlYXNlIGJyYW5jaC10by1TdGVwIDQ6IEZyZWV6ZSBKSVJBIHZlcnNpb24nIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjA4LDQyOS43OTMxLDIxMiw0MjAuNzkzMSwyMDgsNDI0Ljc5MzEsMjA0LDQyMC43OTMxLDIwOCw0MjkuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwOCw0NjQuMTUzMSBDMjA4LDQ3NC42NDMxIDIwOCw0ODguNDEzMSAyMDgsNDk5Ljc3MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCA0OiBGcmVlemUgSklSQSB2ZXJzaW9uLXRvLUNvbnRpbnVlIHdpdGggZGV2ZWxvcG1lbnQgb24gJmFwb3M7ZGV2ZWxvcCZhcG9zOyBicmFuY2gnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjA4LDUwNC43OTMxLDIxMiw0OTUuNzkzMSwyMDgsNDk5Ljc5MzEsMjA0LDQ5NS43OTMxLDIwOCw1MDQuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwOCw1MzkuMTMzMSBDMjA4LDU1Mi44MjMxIDIwOCw1NzIuNTYzMSAyMDgsNTg3LjU2MzEgJyBmaWxsPSdub25lJyBpZD0nQ29udGludWUgd2l0aCBkZXZlbG9wbWVudCBvbiAmYXBvcztkZXZlbG9wJmFwb3M7IGJyYW5jaC10by1TdGVwIDU6IENyZWF0ZSByZWxlYXNlIHRhZycgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDgsNTkyLjg1MzEsMjEyLDU4My44NTMxLDIwOCw1ODcuODUzMSwyMDQsNTgzLjg1MzEsMjA4LDU5Mi44NTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMScgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc1OCcgeD0nMjA5JyB5PSc1NzAuMTYzNic+MS0yIHdlZWtzPC90ZXh0PjxwYXRoIGQ9J00yMDgsNjI3LjE1MzEgQzIwOCw2MzcuNjQzMSAyMDgsNjUxLjQxMzEgMjA4LDY2Mi43NzMxICcgZmlsbD0nbm9uZScgaWQ9J1N0ZXAgNTogQ3JlYXRlIHJlbGVhc2UgdGFnLXRvLVN0ZXAgNjogQ3JlYXRlIGEgZGlzdHJpYnV0aW9uJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIwOCw2NjcuNzkzMSwyMTIsNjU4Ljc5MzEsMjA4LDY2Mi43OTMxLDIwNCw2NTguNzkzMSwyMDgsNjY3Ljc5MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwYXRoIGQ9J00yMDgsNzAyLjE1MzEgQzIwOCw3MTIuNjQzMSAyMDgsNzI2LjQxMzEgMjA4LDczNy43NzMxICcgZmlsbD0nbm9uZScgaWQ9J1N0ZXAgNjogQ3JlYXRlIGEgZGlzdHJpYnV0aW9uLXRvLVN0ZXAgNzogU2lnbiB0aGUgZGlzdHJpYnV0aW9uIGFydGlmYWN0cycgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDgsNzQyLjc5MzEsMjEyLDczMy43OTMxLDIwOCw3MzcuNzkzMSwyMDQsNzMzLjc5MzEsMjA4LDc0Mi43OTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cGF0aCBkPSdNMjA4LDc3Ny4xNTMxIEMyMDgsNzg3LjY0MzEgMjA4LDgwMS40MTMxIDIwOCw4MTIuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDc6IFNpZ24gdGhlIGRpc3RyaWJ1dGlvbiBhcnRpZmFjdHMtdG8tU3RlcCA4OiBVcGxvYWQgZGlzdHJpYnV0aW9uIGFydGlmYWN0cyB0byBzdGFnaW5nIGVudmlyb25tZW50JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIwOCw4MTcuNzkzMSwyMTIsODA4Ljc5MzEsMjA4LDgxMi43OTMxLDIwNCw4MDguNzkzMSwyMDgsODE3Ljc5MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwYXRoIGQ9J00yMDgsODUyLjE1MzEgQzIwOCw4NjIuNjQzMSAyMDgsODc2LjQxMzEgMjA4LDg4Ny43NzMxICcgZmlsbD0nbm9uZScgaWQ9J1N0ZXAgODogVXBsb2FkIGRpc3RyaWJ1dGlvbiBhcnRpZmFjdHMgdG8gc3RhZ2luZyBlbnZpcm9ubWVudC10by1TdGVwIDk6IFZlcmlmeSBkaXN0cmlidXRpb24gaW4gc3RhZ2luZyBlbnZpcm9ubWVudCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDgsODkyLjc5MzEsMjEyLDg4My43OTMxLDIwOCw4ODcuNzkzMSwyMDQsODgzLjc5MzEsMjA4LDg5Mi43OTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cGF0aCBkPSdNMjA4LDkyNy4xNTMxIEMyMDgsOTM3LjY0MzEgMjA4LDk1MS40MTMxIDIwOCw5NjIuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDk6IFZlcmlmeSBkaXN0cmlidXRpb24gaW4gc3RhZ2luZyBlbnZpcm9ubWVudC10by1TdGVwIDEwOiBTdGFydCB2b3Rpbmcgb24gdGhlIGRldiBtYWlsaW5nIGxpc3QnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjA4LDk2Ny43OTMxLDIxMiw5NTguNzkzMSwyMDgsOTYyLjc5MzEsMjA0LDk1OC43OTMxLDIwOCw5NjcuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwOCwxMDAyLjA3MzEgQzIwOCwxMDEyLjg3MzEgMjA4LDEwMjcuMDMzMSAyMDgsMTAzNy44MzMxICcgZmlsbD0nbm9uZScgaWQ9J1N0ZXAgMTA6IFN0YXJ0IHZvdGluZyBvbiB0aGUgZGV2IG1haWxpbmcgbGlzdC10by0jNjcnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjA4LDEwNDIuODQzMSwyMTIsMTAzMy44NDMxLDIwOCwxMDM3Ljg0MzEsMjA0LDEwMzMuODQzMSwyMDgsMTA0Mi44NDMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMScgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxNDMnIHg9JzQ0Ljg5MDYnIHk9JzEwMzYuMDczMyc+NzIgaG91cnMgb3IgMyB5ZXMgdm90ZXM/PC90ZXh0PjxwYXRoIGQ9J00yMDgsMTA2Ny4yMTMxIEMyMDgsMTA3OS43MTMxIDIwOCwxMTAwLjE2MzEgMjA4LDExMTUuNjkzMSAnIGZpbGw9J25vbmUnIGlkPScjNjctdG8tU3RlcCAxMTogQ29uY2x1ZGUgdGhlIHZvdGUgYW5kIGFubm91bmNlIHJlc3VsdHMnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjA4LDExMjAuNzUzMSwyMTIsMTExMS43NTMxLDIwOCwxMTE1Ljc1MzEsMjA0LDExMTEuNzUzMSwyMDgsMTEyMC43NTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMScgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyMCcgeD0nMjA5JyB5PScxMDk4LjE2MzYnPnllczwvdGV4dD48cGF0aCBkPSdNMjA4LDExNTUuMTUzMSBDMjA4LDExNjUuNjQzMSAyMDgsMTE3OS40MTMxIDIwOCwxMTkwLjc3MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCAxMTogQ29uY2x1ZGUgdGhlIHZvdGUgYW5kIGFubm91bmNlIHJlc3VsdHMtdG8tU3RlcCAxMjogVXBsb2FkIGRpc3RyaWJ1dGlvbiBhcnRpZmFjdHMgdG8gcmVsZWFzZSBlbnZpcm9ubWVudCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDgsMTE5NS43OTMxLDIxMiwxMTg2Ljc5MzEsMjA4LDExOTAuNzkzMSwyMDQsMTE4Ni43OTMxLDIwOCwxMTk1Ljc5MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwYXRoIGQ9J00yMDgsMTIzMC4xNTMxIEMyMDgsMTI0MC42NDMxIDIwOCwxMjU0LjQxMzEgMjA4LDEyNjUuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDEyOiBVcGxvYWQgZGlzdHJpYnV0aW9uIGFydGlmYWN0cyB0byByZWxlYXNlIGVudmlyb25tZW50LXRvLVN0ZXAgMTM6IENsb3NlIHJlbGVhc2UgYnJhbmNoIGFuZCBtZXJnZSB0byAmYXBvcztkZXZlbG9wJmFwb3M7JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIwOCwxMjcwLjc5MzEsMjEyLDEyNjEuNzkzMSwyMDgsMTI2NS43OTMxLDIwNCwxMjYxLjc5MzEsMjA4LDEyNzAuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwOCwxMzA1LjE1MzEgQzIwOCwxMzE1LjY0MzEgMjA4LDEzMjkuNDEzMSAyMDgsMTM0MC43NzMxICcgZmlsbD0nbm9uZScgaWQ9J1N0ZXAgMTM6IENsb3NlIHJlbGVhc2UgYnJhbmNoIGFuZCBtZXJnZSB0byAmYXBvcztkZXZlbG9wJmFwb3M7LXRvLVN0ZXAgMTQ6IFVwZGF0ZSB3ZWJzaXRlIChub3QgeWV0IGF1dG9tYXRlZCknIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjA4LDEzNDUuNzkzMSwyMTIsMTMzNi43OTMxLDIwOCwxMzQwLjc5MzEsMjA0LDEzMzYuNzkzMSwyMDgsMTM0NS43OTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cGF0aCBkPSdNMjA4LDEzODAuMTUzMSBDMjA4LDEzOTAuNjQzMSAyMDgsMTQwNC40MTMxIDIwOCwxNDE1Ljc3MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCAxNDogVXBkYXRlIHdlYnNpdGUgKG5vdCB5ZXQgYXV0b21hdGVkKS10by1TdGVwIDE1OiBTZW5kIGVtYWlsIHRvIGFubm91bmNlbWVudCBtYWlsaW5nIGxpc3QnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjA4LDE0MjAuNzkzMSwyMTIsMTQxMS43OTMxLDIwOCwxNDE1Ljc5MzEsMjA0LDE0MTEuNzkzMSwyMDgsMTQyMC43OTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cGF0aCBkPSdNMjA4LDE0NTUuMzUzMSBDMjA4LDE0NzYuMzkzMSAyMDgsMTUxMi41NDMxIDIwOCwxNTMyLjU1MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCAxNTogU2VuZCBlbWFpbCB0byBhbm5vdW5jZW1lbnQgbWFpbGluZyBsaXN0LXRvLWVuZCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDgsMTUzNy43NTMxLDIxMiwxNTI4Ljc1MzEsMjA4LDE1MzIuNzUzMSwyMDQsMTUyOC43NTMxLDIwOCwxNTM3Ljc1MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjwvZz48L3N2Zz4=" alt="Diagram" width="423" height="1569">
+</div>
+<div class="title">Figure 5. Release Process Diagram</div>
+</div>
+<div class="sect3">
+<h4 id="_step_1_heads_up_email">Step 1: Heads-Up Email</h4>
+<div class="sect4">
+<h5 id="_description">Description</h5>
+<div class="paragraph">
+<p>The RM should, if one doesn&#8217;t already exist, first create a new release umbrella issue in JIRA. This issue is dedicated to tracking (a summary of) any discussion related to the planned new release. An example of such an issue is FINERACT-873 - Release Apache Fineract v1.4.0 RESOLVED.</p>
+</div>
+<div class="paragraph">
+<p>The RM then creates an list of resolved issues &amp; features through an initial check in JIRA for already resolved issues for the release, and then setup a timeline for release branch point. The time for the day the issue list is created to the release branch point must be at least two weeks in order to give the community a chance to prioritize and commit any last minute features and issues they would like to see in the upcoming release.</p>
+</div>
+<div class="paragraph">
+<p>The RM must then send the pointer to the umbrella issue along with the tentative timeline for branch point to the developer lists. Any work identified as release related that needs to be completed should be added as a sub tasks of the umbrella issue to allow all developers and users to see the overall release progress in one place. The umbrella issue shall also link to any issues still requiring clarification whether or not they will make it into the release.</p>
+</div>
+<div class="paragraph">
+<p>The RM should then inform users when the git branch is planned to be created, by sending an email based on this template:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="text">[FINERACT] [PROPOSAL] ๐Ÿ“ฆ New release ${project['fineract.release.version']}
+
+Hello everyone,
+
+... based on our &quot;How to Release Apache Fineract&quot; process documented at https://cwiki.apache.org/confluence/x/DRwIB:
+
+I will create a ${project['fineract.release.version']} branch off develop in our git repository at https://github.com/apache/fineract on ${project['fineract.release.date']}.
+
+The release tracking umbrella issue for tracking all activity in JIRA is FINERACT-${project['fineract.release.issue']!'0000'} (https://issues.apache.org/jira/browse/FINERACT-${project['fineract.release.issue']!'0000'}) for this Fineract ${project['fineract.release.version']}.
+
+If you have any work in progress that you would like to see included in this release, please add &quot;blocking&quot; links to the release JIRA issue.
+
+I am the release manager for this release.
+
+Cheers,
+
+${project['fineract.config.name']}
+
+
+
+๐ŸŽ‰ Powered by Fineract Release Plugin ๐ŸŽŠ</code></pre>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep1 -Pfineract.release.issue=1234 -Pfineract.release.date=&quot;Monday, April 25, 2022&quot; -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_2_clean_up_jira">Step 2: Clean Up JIRA</h4>
+<div class="sect4">
+<h5 id="_description_2">Description</h5>
+<div class="paragraph">
+<p>Before a release is done, make sure that any issues that are fixed have their fix version setup correctly.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="text">project = FINERACT and resolution = fixed and fixVersion is empty</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Move all unresolved JIRA issues which have this release as Fix Version to the next release</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="text">project = FINERACT and fixVersion = 1.7.0 and status not in ( Resolved, Done, Accepted, Closed )</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You can also run the following query to make sure that the issues fixed for the to-be-released version look accurate:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="text">project = FINERACT and fixVersion = 1.7.0</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Finally, check out the output of the JIRA release note tool to see which tickets are included in the release, in order to do a sanity check.</p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_2">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep2 -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+This task is not yet automated!
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_3_create_release_branch">Step 3: Create Release Branch</h4>
+<div class="sect4">
+<h5 id="_description_3">Description</h5>
+<div class="paragraph">
+<p>Communicate with the community. You do not need to start a new email thread on the developer mailing list to notify that you are about to branch, just do it ca. 2 weeks after the initial email, or later, based on the discussion on the initial email.</p>
+</div>
+<div class="paragraph">
+<p>You do not need to ask committers to hold off any commits until you have branched finished, as it&#8217;s always possible to fast-forward the branch to latest develop, or cherry-pick last minute changes to it. People should be able to continue working on the develop branch on bug fixes and great new features for the next release while the release process for the current release is being worked through.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Clone fresh repository copy</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% git clone git@github.com:apache/fineract.git
+% cd fineract</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Check that current HEAD points to commit on which you want to base new  release branch. Checkout a particular earlier commit if not.</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% git log <i class="conum" data-value="1"></i><b>(1)</b></code></pre>
+</div>
+</div>
+<div class="colist arabic">
+<table>
+<tr>
+<td><i class="conum" data-value="1"></i><b>1</b></td>
+<td>Check current branch history. HEAD should point to commit that you want to be base for your release branch</td>
+</tr>
+</table>
+</div>
+</li>
+<li>
+<p>Create a new release branch with name "$Version"</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% git checkout -b 1.7.0</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Push new branch to Apache Fineract repository</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% git push origin 1.7.0</code></pre>
+</div>
+</div>
+</li>
+<li>
+<p>Add new release notes in Release Folders. The change list can be swiped from the JIRA release note tool (use the "text" format for the change log). See JIRA Cleanup above to ensure that the release notes generated by this tool are what you are expecting.</p>
+</li>
+<li>
+<p>Send en email announcing the new release branch on the earlier email thread</p>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="text">[FINERACT] [ANNOUNCE] ๐Ÿ”€ ${project['fineract.release.version']} release branch
+
+Hello everyone,
+
+... as previously announced, I've just created the release branch for our upcoming ${project['fineract.release.version']} release.
+
+You can continue working and merging PRs to the develop branch for future releases, as always.
+
+The DRAFT release notes are on https://cwiki.apache.org/confluence/display/FINERACT/${project['fineract.release.version']}+-+Apache+Fineract.  Does anyone see anything missing?
+
+Does anyone have any last minutes changes they would like to see cherry-picked to branch ${project['fineract.release.version']}, or are we good go and actually cut the release based on this branch as it is?
+
+I'll initiate the final stage of actually creating the release on ${project['fineract.release.date']} if nobody objects.
+
+Cheers,
+
+${project['fineract.config.name']}</code></pre>
+</div>
+</div>
+</li>
+</ol>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_3">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep3 -Pfineract.release.date=&quot;Monday, May 10, 2022&quot; -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_4_freeze_jira">Step 4: Freeze JIRA</h4>
+<div class="sect4">
+<h5 id="_description_4">Description</h5>
+<div class="paragraph">
+<p>You first need to close the release in JIRA so that the about to be released version cannot be used as "fixVersion" for new bugs anymore. Go to JIRA "Administer project" page and follow "Versions" in left menu. Table with list of all releases should appear, click on additional menu on the right of your release and choose "Release" option. Submit release date and you&#8217;re done.</p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_4">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep4</code></pre>
+</div>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+This task is not yet automated!
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_5_create_release_tag">Step 5: Create Release Tag</h4>
+<div class="sect4">
+<h5 id="_description_5">Description</h5>
+<div class="paragraph">
+<p>Next, you create a git tag from the HEAD of the release&#8217;s git branch.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% git checkout 1.7.0
+% ./gradlew clean integrationTests <i class="conum" data-value="1"></i><b>(1)</b>
+% git tag -a 1.7.0 -m &quot;Fineract 1.7.0 release&quot;
+% git push origin 1.7.0</code></pre>
+</div>
+</div>
+<div class="colist arabic">
+<table>
+<tr>
+<td><i class="conum" data-value="1"></i><b>1</b></td>
+<td>Run additonally manual tests with the community app.</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+It is important to create so called annotated tags (vs. lightweight) for releases.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_5">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep5 -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_6_create_distribution">Step 6: Create Distribution</h4>
+<div class="sect4">
+<h5 id="_description_6">Description</h5>
+<div class="paragraph">
+<p>Create source and binary artifacts. Make sure to do some sanity checks. The tar and the release branch should match.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% cd /fineract-release-preparations <i class="conum" data-value="1"></i><b>(1)</b>
+% tar -xvf apache-fineract-1.7.0-src.tar.gz
+% git clone <a href="https://git-wip-us.apache.org/repos/asf/fineract.git" class="bare">git-wip-us.apache.org/repos/asf/fineract.git</a>
+% cd fineract/
+% git checkout tags/1.7.0
+% cd ..
+% diff -r fineract apache-fineract-1.7.0-src</code></pre>
+</div>
+</div>
+<div class="colist arabic">
+<table>
+<tr>
+<td><i class="conum" data-value="1"></i><b>1</b></td>
+<td>Do a fresh clone of the tag.</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>Make sure code compiles and tests pass on the uncompressed source.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% cd apache-fineract-1.7.0-src/fineract-provider <i class="conum" data-value="1"></i><b>(1)</b>
+% gradlew clean integrationTest <i class="conum" data-value="2"></i><b>(2)</b>
+% gradlew clean build <i class="conum" data-value="3"></i><b>(3)</b>
+% gradlew rat <i class="conum" data-value="4"></i><b>(4)</b></code></pre>
+</div>
+</div>
+<div class="colist arabic">
+<table>
+<tr>
+<td><i class="conum" data-value="1"></i><b>1</b></td>
+<td>Make sure prerequisites are met before running these commands.</td>
+</tr>
+<tr>
+<td><i class="conum" data-value="2"></i><b>2</b></td>
+<td>For running integration tests</td>
+</tr>
+<tr>
+<td><i class="conum" data-value="3"></i><b>3</b></td>
+<td>For building deploy able war</td>
+</tr>
+<tr>
+<td><i class="conum" data-value="4"></i><b>4</b></td>
+<td>For RAT checks</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_6">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep6</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_7_sign_distribution">Step 7: Sign Distribution</h4>
+<div class="sect4">
+<h5 id="_description_7">Description</h5>
+<div class="paragraph">
+<p>All release artifacts must be signed. In order to sign a release you will need a PGP key. You should get your key signed by a few other people. You will also need to receive their keys from a public key server.   See the Apache release signing page for more details. Please follow the steps defined in Release Sign.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% gpg --armor --output apache-fineract-1.7.0-src.tar.gz.asc --detach-sig apache-fineract-1.7.0-src.tar.gz
+% gpg --print-md MD5 apache-fineract-1.7.0-src.tar.gz &gt; apache-fineract-1.7.0-src.tar.gz.md5
+% gpg --print-md SHA512 apache-fineract-1.7.0-src.tar.gz &gt; apache-fineract-1.7.0-src.tar.gz.sha512
+% gpg --armor --output apache-fineract-1.7.0--binary.tar.gz.asc --detach-sig apache-fineract-1.7.0-binary.tar.gz
+% gpg --print-md MD5 apache-fineract-1.7.0-binary.tar.gz &gt; apache-fineract-1.7.0-binary.tar.gz.md5
+% gpg --print-md SHA512 apache-fineract-1.7.0-binary.tar.gz &gt; apache-fineract-1.7.0-binary.tar.gz.sha512</code></pre>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_7">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep7</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_8_upload_distribution_staging">Step 8: Upload Distribution Staging</h4>
+<div class="sect4">
+<h5 id="_description_8">Description</h5>
+<div class="paragraph">
+<p>Finally create a directory with release name (1.7.0 in this example) in <a href="https://dist.apache.org/repos/dist/dev/fineract" class="bare">dist.apache.org/repos/dist/dev/fineract</a> and add the following files in this new directory:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>apache-fineract-1.7.0-binary.tar.gz.sha</p>
+</li>
+<li>
+<p>apache-fineract-1.7.0-binary.tar.gz</p>
+</li>
+<li>
+<p>apache-fineract-1.7.0-binary.tar.gz.asc</p>
+</li>
+<li>
+<p>apache-fineract-1.7.0-binary.tar.gz.md5</p>
+</li>
+<li>
+<p>apache-fineract-1.7.0-src.tar.gz.sha</p>
+</li>
+<li>
+<p>apache-fineract-1.7.0-src.tar.gz</p>
+</li>
+<li>
+<p>apache-fineract-1.7.0-src.tar.gz.asc</p>
+</li>
+<li>
+<p>apache-fineract-1.7.0-src.tar.gz.md5</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Upload binary and source archives to ASF&#8217;s distribution dev (staging) area:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% svn co <a href="https://dist.apache.org/repos/dist/dev/fineract/" class="bare">dist.apache.org/repos/dist/dev/fineract/</a> fineract-dist-dev
+% mkdir fineract-dist-dev/1.7.0
+% cp fineract/build/distributions/* fineract-dist-dev/1.7.0/
+% svn commit</code></pre>
+</div>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+You will need your ASF Committer credentials to be able to access the Subversion host <a href="https://dist.apache.org" class="bare">dist.apache.org</a> via.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_8">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep8 -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_9_verify_distribution_staging">Step 9: Verify Distribution Staging</h4>
+<div class="sect4">
+<h5 id="_description_9">Description</h5>
+<div class="paragraph">
+<p>Following are the typical things we need to verify before voting on a release candidate. And the release manager should verify them too before calling out a vote.</p>
+</div>
+<div class="paragraph">
+<p>Make sure release artifacts are hosted at <a href="https://dist.apache.org/repos/dist/dev/fineract" class="bare">dist.apache.org/repos/dist/dev/fineract</a></p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Release candidates should be in format apache-fineract-1.7.0-binary.tar.gz</p>
+</li>
+<li>
+<p>Verify signatures and hashes. You may have to import the public key of the release manager to verify the signatures. (<code>gpg --recv-key &lt;key id&gt;</code>)</p>
+</li>
+<li>
+<p>Git tag matches the released bits (diff -rf)</p>
+</li>
+<li>
+<p>Can compile successfully from source</p>
+</li>
+<li>
+<p>Verify DISCLAIMER, NOTICE and LICENSE (year etc)</p>
+</li>
+<li>
+<p>All files have correct headers (Rat check should be clean - gradlew rat)</p>
+</li>
+<li>
+<p>No jar files in the source artifacts</p>
+</li>
+<li>
+<p>Integration tests should work</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_9">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep9 -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+This task is not yet automated!
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_10_start_vote">Step 10: Start Vote</h4>
+<div class="sect4">
+<h5 id="_description_10">Description</h5>
+<div class="paragraph">
+<p>Voting has to be done on <a href="mailto:dev@fineract.apache.org">dev@fineract.apache.org</a>. You can close the vote after voting period expires (72 hours) and you accumulate sufficient votes (minimum 3 x +1 PMC votes).</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="text">[FINERACT] [VOTE] ๐Ÿ—ณ๏ธ ${project['fineract.release.version']} for release
+
+Hello everyone,
+
+... we have created Apache Fineract ${project['fineract.release.version']} release, with the artifacts below up for a vote.
+
+It fixes the following issues: https://cwiki.apache.org/confluence/display/FINERACT/${project['fineract.release.version']}+-+Apache+Fineract
+
+Source &amp; Binary files : https://dist.apache.org/repos/dist/dev/fineract/${project['fineract.release.version']}/
+
+Tag to be voted on (rc#): https://gitbox.apache.org/repos/asf?p=fineract.git;a=commit;h=refs/heads/${project['fineract.release.version']}
+
+Fineract's KEYS containing the PGP key we used to sign the release: https://dist.apache.org/repos/dist/dev/fineract/KEYS
+
+Note that this release contains source and binary artifacts.
+
+This vote will be open for 72 hours:
+
+[ ] +1 approve
+[ ] +0 no opinion
+[ ] -1 disapprove (and reason why)
+
+Cheers,
+
+${project['fineract.config.name']}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_10">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep10 -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_11_finish_vote">Step 11: Finish Vote</h4>
+<div class="sect4">
+<h5 id="_description_11">Description</h5>
+<div class="paragraph">
+<p>Upon receiving 3 x +1 from the PMC, or after 72 hours (whichever one comes first), reply to the voting thread and add the prefix "[RESULT]" to the subject line with the results, as follows:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="text">[FINERACT] [VOTE] [RESULT] ๐Ÿงพ๏ธ ${project['fineract.release.version']} for release
+
+&lt;#if (project['fineract.vote'].approve.binding?size + project['fineract.vote'].approve.nonBinding?size &gt; project['fineract.vote'].disapprove.binding?size + project['fineract.vote'].disapprove.nonBinding?size)&gt;
+Voting is now closed and has passed with the following tally,
+
+Binding +1s: ${project['fineract.vote'].approve.binding?size}
+Non binding +1s: ${project['fineract.vote'].approve.nonBinding?size}
+&lt;#else&gt;
+Voting is now closed and has not passed with the following tally,
+
+Binding +1s: ${project['fineract.vote'].approve.binding?size}
+Non binding +1s: ${project['fineract.vote'].approve.nonBinding?size}
+
+Binding -1s: ${project['fineract.vote'].disapprove.binding?size}
+Non binding -1s: ${project['fineract.vote'].disapprove.nonBinding?size}
+&lt;/#if&gt;
+
+Here are the detailed results:
+
+&lt;#list project['fineract.vote'].approve.binding&gt;
+Binding +1s:
+    &lt;#items as item&gt;
+- ${item.name} (${item.email})
+    &lt;/#items&gt;
+&lt;/#list&gt;
+
+
+&lt;#list project['fineract.vote'].approve.nonBinding&gt;
+Non binding +1s:
+    &lt;#items as item&gt;
+- ${item.name} (${item.email})
+    &lt;/#items&gt;
+&lt;/#list&gt;
+
+
+&lt;#list project['fineract.vote'].disapprove.binding&gt;
+Binding -1s:
+    &lt;#items as item&gt;
+- ${item.name} (${item.email})
+    &lt;/#items&gt;
+&lt;/#list&gt;
+
+&lt;#list project['fineract.vote'].disapprove.nonBinding&gt;
+Non binding -1s:
+    &lt;#items as item&gt;
+- ${item.name} (${item.email})
+    &lt;/#items&gt;
+&lt;/#list&gt;
+
+
+&lt;#list project['fineract.vote'].noOpinion.binding&gt;
+Binding +0s:
+    &lt;#items as item&gt;
+- ${item.name} (${item.email})
+    &lt;/#items&gt;
+&lt;/#list&gt;
+
+&lt;#list project['fineract.vote'].noOpinion.nonBinding&gt;
+Non binding +0s:
+    &lt;#items as item&gt;
+- ${item.name} (${item.email})
+    &lt;/#items&gt;
+&lt;/#list&gt;
+
+&lt;#if (project['fineract.vote'].approve.binding?size + project['fineract.vote'].approve.nonBinding?size &gt; project['fineract.vote'].disapprove.binding?size + project['fineract.vote'].disapprove.nonBinding?size)&gt;
+Thanks to everyone who voted! I'll now continue with the rest of the release process.
+&lt;#else&gt;
+Thanks to everyone who voted! Looks like we have to repeat the vote.
+&lt;/#if&gt;
+
+${project['fineract.config.name']}</code></pre>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_11">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="text">% ./gradlew fineractReleaseStep11 -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_12_upload_distribution_release">Step 12: Upload Distribution Release</h4>
+<div class="sect4">
+<h5 id="_description_12">Description</h5>
+<div class="paragraph">
+<p>In order to release you have to checkout release repository located on <a href="https://dist.apache.org/repos/dist/release/fineract" class="bare">dist.apache.org/repos/dist/release/fineract</a> and add release artifacts there.</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% svn co <a href="https://dist.apache.org/repos/dist/release/fineract" class="bare">dist.apache.org/repos/dist/release/fineract</a> fineract-release
+% mkdir fineract-release/1.7.0/
+% cp fineract-dist-dev/1.7.0/* fineract-release/1.7.0/
+% svn add fineract-release/1.7.0/
+% svn commit -m &quot;Fineract Release 1.7.0&quot; fineract-release/1.7.0/</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>You will now get an automated email from the Apache Reporter Service (<a href="mailto:no-reply@reporter.apache.org">no-reply@reporter.apache.org</a>), subject "Please add your release data for 'fineract'" to add the release data (version and date) to the database on <a href="https://reporter.apache.org/addrelease.html?fineract" class="bare">reporter.apache.org/addrelease.html?fineract</a> (requires PMC membership).</p>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_12">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep12 -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_13_close_release_branch">Step 13: Close Release Branch</h4>
+<div class="sect4">
+<h5 id="_description_13">Description</h5>
+<div class="paragraph">
+<p>As discussed in <a href="https://issues.apache.org/jira/browse/FINERACT-1154">FINERACT-1154</a>, now that everything is final, please do the following to remove the release branch (and just keep the tag), and make sure that everything on the release tag is merged to develop and that e.g. git describe works:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% git checkout develop
+% git branch -D 1.7.0
+% git push origin :1.7.0
+% git checkout develop
+% git checkout -b merge-1.7.0
+% git merge -s recursive -Xignore-all-space 1.7.0  <i class="conum" data-value="1"></i><b>(1)</b>
+% git commit
+% git push $USER
+% hub pull-request</code></pre>
+</div>
+</div>
+<div class="colist arabic">
+<table>
+<tr>
+<td><i class="conum" data-value="1"></i><b>1</b></td>
+<td>Manually resolve merge conflicts, if any</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_13">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep13 -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+This task is not yet automated!
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_14_update_website">Step 14: Update website</h4>
+<div class="sect4">
+<h5 id="_description_14">Description</h5>
+<div class="paragraph">
+<p>Finally update the <a href="https://fineract.apache.org" class="bare">fineract.apache.org</a> website with the latest release details. The website&#8217;s HTML source code is available at <a href="https://github.com/apache/fineract-site" class="bare">github.com/apache/fineract-site</a>.</p>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+This step is not yet updated. We are working on a static site generator setup.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_14">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep14 <i class="conum" data-value="1"></i><b>(1)</b></code></pre>
+</div>
+</div>
+<div class="colist arabic">
+<table>
+<tr>
+<td><i class="conum" data-value="1"></i><b>1</b></td>
+<td>Currently doing nothing. Will trigger in the future the static site generator and publish on Github.</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock caution">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-caution" title="Caution"></i>
+</td>
+<td class="content">
+This task is not yet automated!
+</td>
+</tr>
+</table>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_step_15_announcement_email">Step 15: Announcement Email</h4>
+<div class="sect4">
+<h5 id="_description_15">Description</h5>
+<div class="paragraph">
+<p>Send an email to <code>announce@apache.org</code> (sender address must be <code>@apache.org</code>):</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="text">[ANNOUNCE] Apache Fineract ${project['fineract.release.version']} Release
+
+The Apache Fineract project is pleased to announce
+the release of Apache Fineract ${project['fineract.release.version']}.
+The release is available for download from
+https://fineract.apache.org/#downloads
+
+Fineract provides a reliable, robust, and affordable solution for entrepreneurs,
+financial institutions, and service providers to offer financial services to the
+world’s 2 billion underbanked and unbanked. Fineract is aimed at innovative mobile
+and cloud-based solutions, and enables digital transaction accounts for all.
+
+This release addressed ${project['fineract.release.issues']?size} issues.
+
+Readme: https://github.com/apache/fineract/blob/${project['fineract.release.version']}/README.md
+
+Release page: https://cwiki.apache.org/confluence/display/FINERACT/${project['fineract.release.version']}+-+Apache+Fineract
+
+List of fixed issues:
+https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=${project['fineract.release.versionId']}&amp;styleName=Html&amp;projectId=${project['fineract.release.projectId']}
+
+For more information on Apache Fineract please visit
+project home page: https://fineract.apache.org
+
+The Apache Fineract Team</code></pre>
+</div>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_gradle_task_15">Gradle Task</h5>
+<div class="listingblock">
+<div class="title">Command</div>
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep15 -Pfineract.release.version=1.7.0</code></pre>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_publish_release_artifacts">Publish Release Artifacts</h3>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+More on releases at the ASF see <a href="https://www.apache.org/legal/release-policy.html#distribute-raw-artifact" class="bare">www.apache.org/legal/release-policy.html#distribute-raw-artifact</a>
+</td>
+</tr>
+</table>
+</div>
+<div class="sect3">
+<h4 id="_requirements">Requirements</h4>
+<div class="paragraph">
+<p>You need to have your GPG keypairs properly set up. The JAR release artifacts (currently only <code>fineract-client</code>) are signed with a Gradle plugin just before being uploaded to the Maven repository. Please make sure that the following properties are set in your private <code>gradle.properties</code> file in your home folder:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="properties">signing.keyId=7890ABCD
+signing.password=*****
+signing.secretKeyRingFile=~/.gnupg/secring.gpg</code></pre>
+</div>
+</div>
+<div class="paragraph">
+<p>This is quite similiar to the Fineract release plugin properties for GPG. In one of the next release we&#8217;ll merge these two setups to avoid this duplicated configuration.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_maven_repository">Maven Repository</h4>
+<div class="paragraph">
+<p>We are using the ASF&#8217;s official <a href="https://repository.apache.org">Nexus Maven repository</a> to publish our snapshot and release artifacts.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<i class="fa icon-note" title="Note"></i>
+</td>
+<td class="content">
+Find more information at <a href="https://infra.apache.org/publishing-maven-artifacts.html" class="bare">infra.apache.org/publishing-maven-artifacts.html</a>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_npm_registry">NPM Registry</h4>
+<div class="paragraph">
+<p>For convenience we will be using Github Packages to publish Fineract&#8217;s Typescript API client.</p>
+</div>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_docker_hub">Docker Hub</h4>
+<div class="paragraph">
+<p>TBD</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_fineract_sdks">Fineract SDKs</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TBD</p>
+</div>
+<div class="sect2">
+<h3 id="_generate_apache_fineract_api_client">Generate Apache Fineract API Client</h3>
+<div class="paragraph">
+<p>Apache Fineract supports client code generation using <a href="https://openapi-generator.tech">OpenAPI Generator</a>. It uses <a href="https://swagger.io/specification/">OpenAPI Specification Version 3.0.3</a>.</p>
+</div>
+<div class="sect3">
+<h4 id="_fineract_sdk_java_api_client">Fineract SDK Java API Client</h4>
+<div class="paragraph">
+<p>The <code>fineract-client.jar</code> will eventually be available on Maven Central (watch <a href="https://issues.apache.org/jira/browse/FINERACT-1102">FINERACT-1102</a>). Until it is, you can quite easily build the latest and greatest version locally from source, see below.</p>
+</div>
+<div class="paragraph">
+<p>The <a href="https://github.com/apache/fineract/search?q=FineractClient.java"><code>FineractClient</code></a> is the entry point to the <em>Fineract SDK Java API Client</em>. <a href="https://github.com/apache/fineract/search?q=Calls.java"><code>Calls</code></a> is a convenient and recommended utility to simplify the use of the <a href="https://square.github.io/retrofit/2.x/retrofit/retrofit2/Call.html"><code>retrofit2.Call</code></a> type which all API operations return. This permits you to use the API like the <a href="https://github.com/search?l=&amp;q=repo%3Aapache%2Ffineract+filename%3AFineractClientDemo.java&amp;type=code"><code>FineractClientDemo</code></a> illustrates:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">import</span> <span class="include">org.apache.fineract.client.util.FineractClient</span>;
+<span class="keyword">import</span> <span class="include">static</span> <span class="include">org.apache.fineract.client.util.Calls.ok</span>;
+
+        FineractClient fineract = FineractClient.builder().baseURL(<span class="string"><span class="delimiter">&quot;</span><span class="content">https://demo.fineract.dev/fineract-provider/api/v1/</span><span class="delimiter">&quot;</span></span>).tenant(<span class="string"><span class="delimiter">&quot;</span><span class="content">default</span><span class="delimiter">&quot;</span></span>)
+                .basicAuth(<span class="string"><span class="delimiter">&quot;</span><span class="content">mifos</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">password</span><span class="delimiter">&quot;</span></span>).build();
+        <span class="predefined-type">List</span>&lt;RetrieveOneResponse&gt; staff = Calls.ok(fineract.staff.retrieveAll16(<span class="integer">1L</span>, <span class="predefined-constant">true</span>, <span class="predefined-constant">false</span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">ACTIVE</span><span class="delimiter">&quot;</span></span>));
+        <span class="predefined-type">String</span> name = staff.get(<span class="integer">0</span>).getDisplayName();</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_generate_api_client">Generate API Client</h4>
+<div class="paragraph">
+<p>The API client is built as part of the standard overall Fineract Gradle build. The client JAR can be found in <code>fineract-client/build/libs</code> as <code>fineract-client.jar</code>.</p>
+</div>
+<div class="paragraph">
+<p>If you need to save time to incrementally work on making small changes to Swagger annotations in an IDE, you can execute e.g. the following line in root directory of the project to exclude non-require Gradle tasks:</p>
+</div>
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="java">./gradlew -x compileJava -x compileTest -x spotlessJava -x enhance resolve prepareInputYaml :fineract-client:buildJavaSdk</code></pre>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_validate_openapi_spec_file">Validate OpenAPI Spec File</h4>
+<div class="paragraph">
+<p>The <code>resolve</code> task in <a href="https://github.com/apache/fineract/blob/develop/fineract-provider/build.gradle#L80">build.gradle</a> file will generate the OpenAPI Spec File for the project. To make sure Swagger Codegen generates a correct library, it is important for the OpenAPI Spec file to be valid. Validation is done automatically by the OpenAPI code generator Gradle plugin. If you still have problems during code generation please use <a href="https://validator.swagger.io/">Swagger OpenAPI Validator</a> to validate the spec file.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
 <h2 id="_apache_fineract_rest_api">Apache Fineract REST API</h2>
 <div class="sectionbody">
 <div class="quoteblock abstract">
@@ -2628,7 +5573,7 @@
 <p>Create an Account number format</p>
 </div>
 <div class="sect5">
-<h6 id="_description">Description</h6>
+<h6 id="_description_16">Description</h6>
 <div class="paragraph">
 <p>Note: You may associate a single Account number format for a given account type Mandatory Fields for Account number formats accountType</p>
 </div>
@@ -2726,7 +5671,7 @@
 <p>Delete an Account number format</p>
 </div>
 <div class="sect5">
-<h6 id="_description_2">Description</h6>
+<h6 id="_description_17">Description</h6>
 <div class="paragraph">
 <p>Note: Account numbers created while this format was active would remain unchanged.</p>
 </div>
@@ -2824,7 +5769,7 @@
 <p>List Account number formats</p>
 </div>
 <div class="sect5">
-<h6 id="_description_3">Description</h6>
+<h6 id="_description_18">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  accountnumberformats   accountnumberformats?fields=accountType,prefixType</p>
 </div>
@@ -2893,7 +5838,7 @@
 <p>Retrieve an Account number format</p>
 </div>
 <div class="sect5">
-<h6 id="_description_4">Description</h6>
+<h6 id="_description_19">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  accountnumberformats/1   accountnumberformats/1?template=true   accountnumberformats/1?fields=accountType,prefixType</p>
 </div>
@@ -2991,7 +5936,7 @@
 <p>Retrieve Account number format Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_5">Description</h6>
+<h6 id="_description_20">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists  Example Request:  accountnumberformats/template</p>
 </div>
@@ -3060,7 +6005,7 @@
 <p>Update an Account number format</p>
 </div>
 <div class="sect5">
-<h6 id="_description_6">Description</h6>
+<h6 id="_description_21">Description</h6>
 
 </div>
 <div class="sect5">
@@ -3189,7 +6134,7 @@
 <p>Create new Transfer</p>
 </div>
 <div class="sect5">
-<h6 id="_description_7">Description</h6>
+<h6 id="_description_22">Description</h6>
 <div class="paragraph">
 <p>Ability to create new transfer of monetary funds from one account to another.</p>
 </div>
@@ -3287,7 +6232,7 @@
 <p>List account transfers</p>
 </div>
 <div class="sect5">
-<h6 id="_description_8">Description</h6>
+<h6 id="_description_23">Description</h6>
 <div class="paragraph">
 <p>Lists account&#8217;s transfers  Example Requests:    accounttransfers</p>
 </div>
@@ -3427,7 +6372,7 @@
 <p>Retrieve account transfer</p>
 </div>
 <div class="sect5">
-<h6 id="_description_9">Description</h6>
+<h6 id="_description_24">Description</h6>
 <div class="paragraph">
 <p>Retrieves account transfer  Example Requests :    accounttransfers/1</p>
 </div>
@@ -3525,7 +6470,7 @@
 <p>Retrieve Account Transfer Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_10">Description</h6>
+<h6 id="_description_25">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:    Field Defaults  Allowed Value Lists  Example Requests:    accounttransfers/template?fromAccountType=2&amp;fromOfficeId=1    accounttransfers/template?fromAccountType=2&amp;fromOfficeId=1&amp;fromClientId=1    accounttransfers/template?fromClientId=1&amp;fromAccountType=2&amp;fromAccountId=1</p>
 </div>
@@ -3672,7 +6617,7 @@
 <p>Retrieve Refund of an Active Loan by Transfer Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_11">Description</h6>
+<h6 id="_description_26">Description</h6>
 <div class="paragraph">
 <p>Retrieves Refund of an Active Loan by Transfer TemplateExample Requests :    accounttransfers/templateRefundByTransfer?fromAccountId=2&amp;fromAccountType=1&amp; toAccountId=1&amp;toAccountType=2&amp;toClientId=1&amp;toOfficeId=1</p>
 </div>
@@ -3819,7 +6764,7 @@
 <p>Refund of an Active Loan by Transfer</p>
 </div>
 <div class="sect5">
-<h6 id="_description_12">Description</h6>
+<h6 id="_description_27">Description</h6>
 <div class="paragraph">
 <p>Ability to refund an active loan by transferring to a savings account.</p>
 </div>
@@ -3920,7 +6865,7 @@
 <p>Create an Accounting Closure</p>
 </div>
 <div class="sect5">
-<h6 id="_description_13">Description</h6>
+<h6 id="_description_28">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields officeId,closingDate</p>
 </div>
@@ -4018,7 +6963,7 @@
 <p>Delete an accounting closure</p>
 </div>
 <div class="sect5">
-<h6 id="_description_14">Description</h6>
+<h6 id="_description_29">Description</h6>
 <div class="paragraph">
 <p>Note: Only the latest accounting closure associated with a branch may be deleted.</p>
 </div>
@@ -4116,7 +7061,7 @@
 <p>Retrieve an Accounting Closure</p>
 </div>
 <div class="sect5">
-<h6 id="_description_15">Description</h6>
+<h6 id="_description_30">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  glclosures/1   /glclosures/1?fields=officeName,closingDate</p>
 </div>
@@ -4214,7 +7159,7 @@
 <p>List Accounting closures</p>
 </div>
 <div class="sect5">
-<h6 id="_description_16">Description</h6>
+<h6 id="_description_31">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  glclosures</p>
 </div>
@@ -4312,7 +7257,7 @@
 <p>Update an Accounting closure</p>
 </div>
 <div class="sect5">
-<h6 id="_description_17">Description</h6>
+<h6 id="_description_32">Description</h6>
 <div class="paragraph">
 <p>Once an accounting closure is created, only the comments associated with it may be edited</p>
 </div>
@@ -4443,7 +7388,7 @@
 <p>Create/Define a Accounting rule</p>
 </div>
 <div class="sect5">
-<h6 id="_description_18">Description</h6>
+<h6 id="_description_33">Description</h6>
 <div class="paragraph">
 <p>Define a new Accounting rule.  Mandatory Fields name, officeId, accountToDebit OR debitTags, accountToCredit OR creditTags.  Optional Fields description</p>
 </div>
@@ -4541,7 +7486,7 @@
 <p>Delete a Accounting Rule</p>
 </div>
 <div class="sect5">
-<h6 id="_description_19">Description</h6>
+<h6 id="_description_34">Description</h6>
 <div class="paragraph">
 <p>Deletes a Accounting rule.</p>
 </div>
@@ -4639,7 +7584,7 @@
 <p>Retrieve a Accounting rule</p>
 </div>
 <div class="sect5">
-<h6 id="_description_20">Description</h6>
+<h6 id="_description_35">Description</h6>
 <div class="paragraph">
 <p>Returns the details of a defined Accounting rule.  Example Requests:  accountingrules/1</p>
 </div>
@@ -4737,7 +7682,7 @@
 <p>Retrieve Accounting Rules</p>
 </div>
 <div class="sect5">
-<h6 id="_description_21">Description</h6>
+<h6 id="_description_36">Description</h6>
 <div class="paragraph">
 <p>Returns the list of defined accounting rules.  Example Requests:  accountingrules</p>
 </div>
@@ -4806,7 +7751,7 @@
 <p>Retrieve Accounting Rule Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_22">Description</h6>
+<h6 id="_description_37">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists Example Request:  accountingrules/template</p>
 </div>
@@ -4875,7 +7820,7 @@
 <p>Update a Accounting Rule</p>
 </div>
 <div class="sect5">
-<h6 id="_description_23">Description</h6>
+<h6 id="_description_38">Description</h6>
 <div class="paragraph">
 <p>Updates the details of a Accounting rule.</p>
 </div>
@@ -5003,7 +7948,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_24">Description</h6>
+<h6 id="_description_39">Description</h6>
 
 </div>
 <div class="sect5">
@@ -5096,7 +8041,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_25">Description</h6>
+<h6 id="_description_40">Description</h6>
 
 </div>
 <div class="sect5">
@@ -5189,7 +8134,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_26">Description</h6>
+<h6 id="_description_41">Description</h6>
 
 </div>
 <div class="sect5">
@@ -5282,7 +8227,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_27">Description</h6>
+<h6 id="_description_42">Description</h6>
 
 </div>
 <div class="sect5">
@@ -5346,7 +8291,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_28">Description</h6>
+<h6 id="_description_43">Description</h6>
 
 </div>
 <div class="sect5">
@@ -5410,7 +8355,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_29">Description</h6>
+<h6 id="_description_44">Description</h6>
 
 </div>
 <div class="sect5">
@@ -5539,7 +8484,7 @@
 <p>List Audits</p>
 </div>
 <div class="sect5">
-<h6 id="_description_30">Description</h6>
+<h6 id="_description_45">Description</h6>
 <div class="paragraph">
 <p>Get a 200 list of audits that match the criteria supplied and sorted by audit id in descending order, and are within the requestors' data scope. Also it supports pagination and sorting  Example Requests:  audits  audits?fields=madeOnDate,maker,processingResult  audits?makerDateTimeFrom=2013-03-25 08:00:00&amp;makerDateTimeTo=2013-04-04 18:00:00  audits?officeId=1  audits?officeId=1&amp;includeJson=true</p>
 </div>
@@ -5770,7 +8715,7 @@
 <p>Retrieve an Audit Entry</p>
 </div>
 <div class="sect5">
-<h6 id="_description_31">Description</h6>
+<h6 id="_description_46">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  audits/20 audits/20?fields=madeOnDate,maker,processingResult</p>
 </div>
@@ -5868,7 +8813,7 @@
 <p>Audit Search Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_32">Description</h6>
+<h6 id="_description_47">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building an Audit Search UI. \"appUsers\" are data scoped to the office/branch the requestor is associated with.  Example Requests:  audits/searchtemplate audits/searchtemplate?fields=actionNames</p>
 </div>
@@ -5940,7 +8885,7 @@
 <p>Verify authentication</p>
 </div>
 <div class="sect5">
-<h6 id="_description_33">Description</h6>
+<h6 id="_description_48">Description</h6>
 <div class="paragraph">
 <p>Authenticates the credentials provided and returns the set roles and permissions allowed.</p>
 </div>
@@ -6076,7 +9021,7 @@
 <p>Batch requests in a single transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_34">Description</h6>
+<h6 id="_description_49">Description</h6>
 <div class="paragraph">
 <p>The Apache Fineract Batch API is also capable of executing all the requests in a single transaction, by setting a Query Parameter, \"enclosingTransaction=true\". So, if one or more of the requests in a batch returns an erroneous response all of the Data base transactions made by other successful requests will be rolled back.  If there has been a rollback in a transaction then a single response will be provided, with a '400' status code and a body consisting of the error details of the first failed request.</p>
 </div>
@@ -6204,7 +9149,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_35">Description</h6>
+<h6 id="_description_50">Description</h6>
 
 </div>
 <div class="sect5">
@@ -6297,7 +9242,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_36">Description</h6>
+<h6 id="_description_51">Description</h6>
 
 </div>
 <div class="sect5">
@@ -6390,7 +9335,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_37">Description</h6>
+<h6 id="_description_52">Description</h6>
 
 </div>
 <div class="sect5">
@@ -6486,7 +9431,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_38">Description</h6>
+<h6 id="_description_53">Description</h6>
 
 </div>
 <div class="sect5">
@@ -6579,7 +9524,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_39">Description</h6>
+<h6 id="_description_54">Description</h6>
 
 </div>
 <div class="sect5">
@@ -6685,7 +9630,7 @@
 <p>Retrieve Cache Types</p>
 </div>
 <div class="sect5">
-<h6 id="_description_40">Description</h6>
+<h6 id="_description_55">Description</h6>
 <div class="paragraph">
 <p>Returns the list of caches.  Example Requests:  caches</p>
 </div>
@@ -6754,7 +9699,7 @@
 <p>Switch Cache</p>
 </div>
 <div class="sect5">
-<h6 id="_description_41">Description</h6>
+<h6 id="_description_56">Description</h6>
 <div class="paragraph">
 <p>Switches the cache to chosen one.</p>
 </div>
@@ -6852,7 +9797,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_42">Description</h6>
+<h6 id="_description_57">Description</h6>
 
 </div>
 <div class="sect5">
@@ -6982,7 +9927,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_43">Description</h6>
+<h6 id="_description_58">Description</h6>
 
 </div>
 <div class="sect5">
@@ -7089,7 +10034,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_44">Description</h6>
+<h6 id="_description_59">Description</h6>
 
 </div>
 <div class="sect5">
@@ -7196,7 +10141,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_45">Description</h6>
+<h6 id="_description_60">Description</h6>
 
 </div>
 <div class="sect5">
@@ -7326,7 +10271,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_46">Description</h6>
+<h6 id="_description_61">Description</h6>
 
 </div>
 <div class="sect5">
@@ -7426,7 +10371,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_47">Description</h6>
+<h6 id="_description_62">Description</h6>
 
 </div>
 <div class="sect5">
@@ -7566,7 +10511,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_48">Description</h6>
+<h6 id="_description_63">Description</h6>
 
 </div>
 <div class="sect5">
@@ -7683,7 +10628,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_49">Description</h6>
+<h6 id="_description_64">Description</h6>
 
 </div>
 <div class="sect5">
@@ -7803,7 +10748,7 @@
 <p>Activate a Center | Generate Collection Sheet | Save Collection Sheet | Close a Center | Associate Groups | Disassociate Groups</p>
 </div>
 <div class="sect5">
-<h6 id="_description_50">Description</h6>
+<h6 id="_description_65">Description</h6>
 <div class="paragraph">
 <p>Activate a Center:  Centers can be created in a Pending state. This API exists to enable center activation. If the center happens to be already active, this API will result in an error.  Close a Center:  Centers can be closed if they don&#8217;t have any non-closed groups or saving accounts. If the Center has any active groups or savings accounts, this API will result in an error.  Associate Groups:  This API allows associating existing groups to a center. The groups are listed from the office to which the center is associated. If group(s) is already associated with a center, this API will result in an error.  Disassociate Groups:  This API allows to disassociate groups from a center.  Generate Collection Sheet:  This Api retrieves repayment details of all jlg loans under a center as on a specified meeting date.  Save Collection Sheet:  This Api allows the loan officer to perform bulk repayments of JLG loans for a center on a given meeting date.  Showing Request/Response for Close a Center</p>
 </div>
@@ -7961,7 +10906,7 @@
 <p>Create a Center</p>
 </div>
 <div class="sect5">
-<h6 id="_description_51">Description</h6>
+<h6 id="_description_66">Description</h6>
 <div class="paragraph">
 <p>Creates a Center  Mandatory Fields: name, officeId, active, activationDate (if active=true)  Optional Fields: externalId, staffId, groupMembers</p>
 </div>
@@ -8059,7 +11004,7 @@
 <p>Delete a Center</p>
 </div>
 <div class="sect5">
-<h6 id="_description_52">Description</h6>
+<h6 id="_description_67">Description</h6>
 <div class="paragraph">
 <p>A Center can be deleted if it is in pending state and has no association - groups, loans or savings</p>
 </div>
@@ -8154,7 +11099,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_53">Description</h6>
+<h6 id="_description_68">Description</h6>
 
 </div>
 <div class="sect5">
@@ -8261,7 +11206,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_54">Description</h6>
+<h6 id="_description_69">Description</h6>
 
 </div>
 <div class="sect5">
@@ -8371,7 +11316,7 @@
 <p>List Centers</p>
 </div>
 <div class="sect5">
-<h6 id="_description_55">Description</h6>
+<h6 id="_description_70">Description</h6>
 <div class="paragraph">
 <p>The default implementation supports pagination and sorting with the default pagination size set to 200 records. The parameter limit with description -1 will return all entries.  Example Requests:    centers    centers?fields=name,officeName,joinedDate    centers?offset=10&amp;limit=50    centers?orderBy=name&amp;sortOrder=DESC</p>
 </div>
@@ -8553,7 +11498,7 @@
 <p>Retrieve Center accounts overview</p>
 </div>
 <div class="sect5">
-<h6 id="_description_56">Description</h6>
+<h6 id="_description_71">Description</h6>
 <div class="paragraph">
 <p>An example of how a savings summary for a Center can be provided. This is requested in a specific use case of the reference application.  It is quite reasonable to add resources like this to simplify User Interface development.    Example Requests:    centers/9/accounts</p>
 </div>
@@ -8651,7 +11596,7 @@
 <p>Retrieve a Center</p>
 </div>
 <div class="sect5">
-<h6 id="_description_57">Description</h6>
+<h6 id="_description_72">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Center  Example Requests:    centers/1    centers/1?associations=groupMembers</p>
 </div>
@@ -8779,7 +11724,7 @@
 <p>Retrieve a Center Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_58">Description</h6>
+<h6 id="_description_73">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Center Template  Example Requests:    centers/template    centers/template?officeId=2</p>
 </div>
@@ -8891,7 +11836,7 @@
 <p>Update a Center</p>
 </div>
 <div class="sect5">
-<h6 id="_description_59">Description</h6>
+<h6 id="_description_74">Description</h6>
 <div class="paragraph">
 <p>Updates a Center</p>
 </div>
@@ -9022,7 +11967,7 @@
 <p>Create/Define a Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_60">Description</h6>
+<h6 id="_description_75">Description</h6>
 <div class="paragraph">
 <p>Define a new charge that can later be associated with loans and savings through their respective product definitions or directly on each account instance.</p>
 </div>
@@ -9120,7 +12065,7 @@
 <p>Delete a Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_61">Description</h6>
+<h6 id="_description_76">Description</h6>
 <div class="paragraph">
 <p>Deletes a Charge.</p>
 </div>
@@ -9218,7 +12163,7 @@
 <p>Retrieve Charges</p>
 </div>
 <div class="sect5">
-<h6 id="_description_62">Description</h6>
+<h6 id="_description_77">Description</h6>
 <div class="paragraph">
 <p>Returns the list of defined charges.  Example Requests:  charges</p>
 </div>
@@ -9287,7 +12232,7 @@
 <p>Retrieve a Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_63">Description</h6>
+<h6 id="_description_78">Description</h6>
 <div class="paragraph">
 <p>Returns the details of a defined Charge.  Example Requests:  charges/1</p>
 </div>
@@ -9385,7 +12330,7 @@
 <p>Retrieve Charge Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_64">Description</h6>
+<h6 id="_description_79">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  charges/template</p>
 </div>
@@ -9454,7 +12399,7 @@
 <p>Update a Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_65">Description</h6>
+<h6 id="_description_80">Description</h6>
 <div class="paragraph">
 <p>Updates the details of a Charge.</p>
 </div>
@@ -9585,7 +12530,7 @@
 <p>Activate a Client | Close a Client | Reject a Client | Withdraw a Client | Reactivate a Client | UndoReject a Client | UndoWithdraw a Client | Assign a Staff | Unassign a Staff | Update Default Savings Account | Propose a Client Transfer | Withdraw a Client Transfer | Reject a Client Transfer | Accept a Client Transfer | Propose and Accept a Client Transfer</p>
 </div>
 <div class="sect5">
-<h6 id="_description_66">Description</h6>
+<h6 id="_description_81">Description</h6>
 <div class="paragraph">
 <p>Activate a Client:  Clients can be created in a Pending state. This API exists to enable client activation (for when a client becomes an approved member of the financial Institution).  If the client happens to be already active this API will result in an error.  Close a Client:  Clients can be closed if they do not have any non-closed loans/savingsAccount. This API exists to close a client .  If the client have any active loans/savingsAccount this API will result in an error.  Reject a Client:  Clients can be rejected when client is in pending for activation status.  If the client is any other status, this API throws an error.  Mandatory Fields: rejectionDate, rejectionReasonId  Withdraw a Client:  Client applications can be withdrawn when client is in a pending for activation status.  If the client is any other status, this API throws an error.  Mandatory Fields: withdrawalDate, withdrawalReasonId  Reactivate a Client: Clients can be reactivated after they have been closed.  Trying to reactivate a client in any other state throws an error.  Mandatory Fields: reactivationDate  UndoReject a Client:  Clients can be reactivated after they have been rejected.  Trying to reactivate a client in any other state throws an error.  Mandatory Fields: reopenedDateUndoWithdraw a Client:  Clients can be reactivated after they have been withdrawn.  Trying to reactivate a client in any other state throws an error.  Mandatory Fields: reopenedDate  Assign a Staff:  Allows you to assign a Staff for existed Client.  The selected Staff should belong to the same office (or an officer higher up in the hierarchy) as the Client he manages.  Unassign a Staff:  Allows you to unassign the Staff assigned to a Client.  Update Default Savings Account:  Allows you to modify or assign a default savings account for an existing Client.  The selected savings account should be one among the existing savings account for a particular customer.  Propose a Client Transfer:  Allows you to propose the transfer of a Client to a different Office.  Withdraw a Client Transfer:  Allows you to withdraw the proposed transfer of a Client to a different Office.  Withdrawal can happen only if the destination Branch (to which the transfer was proposed) has not already accepted the transfer proposal  Reject a Client Transfer:  Allows the Destination Branch to reject the proposed Client Transfer.  Accept a Client Transfer:  Allows the Destination Branch to accept the proposed Client Transfer.  The destination branch may also choose to link this client to a group (in which case, any existing active JLG loan of the client is rescheduled to match the meeting frequency of the group) and loan Officer at the time of accepting the transfer  Propose and Accept a Client Transfer:  Abstraction over the Propose and Accept Client Transfer API&#8217;s which enable a user with Data Scope over both the Target and Destination Branches to directly transfer a Client to the destination Office.  Showing request/response for 'Reject a Client Transfer'</p>
 </div>
@@ -9743,7 +12688,7 @@
 <p>Create a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_67">Description</h6>
+<h6 id="_description_82">Description</h6>
 <div class="paragraph">
 <p>Note:  1. You can enter either:firstname/middlename/lastname - for a person (middlename is optional) OR fullname - for a business or organisation (or person known by one name).  2.If address is enable(enable-address=true), then additional field called address has to be passed.  Mandatory Fields: firstname and lastname OR fullname, officeId, active=true and activationDate OR active=false, if(address enabled) address  Optional Fields: groupId, externalId, accountNo, staffId, mobileNo, savingsProductId, genderId, clientTypeId, clientClassificationId</p>
 </div>
@@ -9841,7 +12786,7 @@
 <p>Delete a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_68">Description</h6>
+<h6 id="_description_83">Description</h6>
 <div class="paragraph">
 <p>If a client is in Pending state, you are allowed to Delete it. The delete is a 'hard delete' and cannot be recovered from. Once clients become active or have loans or savings associated with them, you cannot delete the client but you may Close the client if they have left the program.</p>
 </div>
@@ -9966,7 +12911,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_69">Description</h6>
+<h6 id="_description_84">Description</h6>
 
 </div>
 <div class="sect5">
@@ -10080,7 +13025,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_70">Description</h6>
+<h6 id="_description_85">Description</h6>
 
 </div>
 <div class="sect5">
@@ -10220,7 +13165,7 @@
 <p>List Clients</p>
 </div>
 <div class="sect5">
-<h6 id="_description_71">Description</h6>
+<h6 id="_description_86">Description</h6>
 <div class="paragraph">
 <p>The list capability of clients can support pagination and sorting.  Example Requests:  clients  clients?fields=displayName,officeName,timeline  clients?offset=10&amp;limit=50  clients?orderBy=displayName&amp;sortOrder=DESC</p>
 </div>
@@ -10402,7 +13347,7 @@
 <p>Retrieve client accounts overview</p>
 </div>
 <div class="sect5">
-<h6 id="_description_72">Description</h6>
+<h6 id="_description_87">Description</h6>
 <div class="paragraph">
 <p>An example of how a loan portfolio summary can be provided. This is requested in a specific use case of the community application. It is quite reasonable to add resources like this to simplify User Interface development.  Example Requests:   clients/1/accounts  clients/1/accounts?fields=loanAccounts,savingsAccounts</p>
 </div>
@@ -10502,7 +13447,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_73">Description</h6>
+<h6 id="_description_88">Description</h6>
 
 </div>
 <div class="sect5">
@@ -10598,7 +13543,7 @@
 <p>Retrieve a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_74">Description</h6>
+<h6 id="_description_89">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  clients/1   clients/1?template=true   clients/1?fields=id,displayName,officeName</p>
 </div>
@@ -10726,7 +13671,7 @@
 <p>Retrieve Client Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_75">Description</h6>
+<h6 id="_description_90">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists  Example Request:  clients/template</p>
 </div>
@@ -10835,7 +13780,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_76">Description</h6>
+<h6 id="_description_91">Description</h6>
 
 </div>
 <div class="sect5">
@@ -10931,7 +13876,7 @@
 <p>Update a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_77">Description</h6>
+<h6 id="_description_92">Description</h6>
 <div class="paragraph">
 <p>Note: You can update any of the basic attributes of a client (but not its associations) using this API.  Changing the relationship between a client and its office is not supported through this API. An API specific to handling transfers of clients between offices is available for the same.  The relationship between a client and a group must be removed through the Groups API.</p>
 </div>
@@ -11062,7 +14007,7 @@
 <p>Add Client Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_78">Description</h6>
+<h6 id="_description_93">Description</h6>
 <div class="literalblock">
 <div class="content">
 <pre>This API associates a Client charge with an implicit Client account Mandatory Fields :  chargeId and dueDate   Optional Fields :  amount</pre>
@@ -11192,7 +14137,7 @@
 <p>Delete a Client Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_79">Description</h6>
+<h6 id="_description_94">Description</h6>
 <div class="paragraph">
 <p>Deletes a Client Charge on which no transactions have taken place (either payments or waivers).</p>
 </div>
@@ -11297,7 +14242,7 @@
 <p>Pay a Client Charge | Waive a Client Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_80">Description</h6>
+<h6 id="_description_95">Description</h6>
 <div class="paragraph">
 <p>Pay a Client Charge:  Mandatory Fields:transactionDate and amount \"Pay either a part of or the entire due amount for a charge.(command=paycharge)  Waive a Client Charge:   This API provides the facility of waiving off the remaining amount on a client charge (command=waive)  Showing request/response for 'Pay a Client Charge'</p>
 </div>
@@ -11462,7 +14407,7 @@
 <p>List Client Charges</p>
 </div>
 <div class="sect5">
-<h6 id="_description_81">Description</h6>
+<h6 id="_description_96">Description</h6>
 <div class="paragraph">
 <p>The list capability of client charges supports pagination.Example Requests: clients/1/charges  clients/1/charges?offset=0&amp;limit=5</p>
 </div>
@@ -11611,7 +14556,7 @@
 <p>Retrieve a Client Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_82">Description</h6>
+<h6 id="_description_97">Description</h6>
 <div class="paragraph">
 <p>Example Requests: clients/1/charges/1   clients/1/charges/1?fields=name,id</p>
 </div>
@@ -11713,7 +14658,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_83">Description</h6>
+<h6 id="_description_98">Description</h6>
 
 </div>
 <div class="sect5">
@@ -11812,7 +14757,7 @@
 <p>Add New Collateral For a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_84">Description</h6>
+<h6 id="_description_99">Description</h6>
 <div class="paragraph">
 <p>Add New Collateral For a Client</p>
 </div>
@@ -11940,7 +14885,7 @@
 <p>Delete Client Collateral</p>
 </div>
 <div class="sect5">
-<h6 id="_description_85">Description</h6>
+<h6 id="_description_100">Description</h6>
 <div class="paragraph">
 <p>Delete Client Collateral</p>
 </div>
@@ -12045,7 +14990,7 @@
 <p>Get Clients Collateral Products</p>
 </div>
 <div class="sect5">
-<h6 id="_description_86">Description</h6>
+<h6 id="_description_101">Description</h6>
 <div class="paragraph">
 <p>Get Collateral Product of a Client</p>
 </div>
@@ -12173,7 +15118,7 @@
 <p>Get Client Collateral Data</p>
 </div>
 <div class="sect5">
-<h6 id="_description_87">Description</h6>
+<h6 id="_description_102">Description</h6>
 <div class="paragraph">
 <p>Get Client Collateral Data</p>
 </div>
@@ -12278,7 +15223,7 @@
 <p>Get Client Collateral Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_88">Description</h6>
+<h6 id="_description_103">Description</h6>
 <div class="paragraph">
 <p>Get Client Collateral Template</p>
 </div>
@@ -12376,7 +15321,7 @@
 <p>Update New Collateral of a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_89">Description</h6>
+<h6 id="_description_104">Description</h6>
 <div class="paragraph">
 <p>Update New Collateral of a Client</p>
 </div>
@@ -12511,7 +15456,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_90">Description</h6>
+<h6 id="_description_105">Description</h6>
 
 </div>
 <div class="sect5">
@@ -12634,7 +15579,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_91">Description</h6>
+<h6 id="_description_106">Description</h6>
 
 </div>
 <div class="sect5">
@@ -12764,7 +15709,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_92">Description</h6>
+<h6 id="_description_107">Description</h6>
 
 </div>
 <div class="sect5">
@@ -12864,7 +15809,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_93">Description</h6>
+<h6 id="_description_108">Description</h6>
 
 </div>
 <div class="sect5">
@@ -12957,7 +15902,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_94">Description</h6>
+<h6 id="_description_109">Description</h6>
 
 </div>
 <div class="sect5">
@@ -13050,7 +15995,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_95">Description</h6>
+<h6 id="_description_110">Description</h6>
 
 </div>
 <div class="sect5">
@@ -13186,7 +16131,7 @@
 <p>Create an Identifier for a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_96">Description</h6>
+<h6 id="_description_111">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields documentKey, documentTypeId</p>
 </div>
@@ -13314,7 +16259,7 @@
 <p>Delete a Client Identifier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_97">Description</h6>
+<h6 id="_description_112">Description</h6>
 <div class="paragraph">
 <p>Deletes a Client Identifier</p>
 </div>
@@ -13419,7 +16364,7 @@
 <p>Retrieve Client Identifier Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_98">Description</h6>
+<h6 id="_description_113">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource useful for building maintenance user interface screens for client applications. The template data returned consists of any or all of:   Field Defaults  Allowed description Lists   Example Request: clients/1/identifiers/template</p>
 </div>
@@ -13517,7 +16462,7 @@
 <p>List all Identifiers for a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_99">Description</h6>
+<h6 id="_description_114">Description</h6>
 <div class="paragraph">
 <p>Example Requests: clients/1/identifiers   clients/1/identifiers?fields=documentKey,documentType,description</p>
 </div>
@@ -13615,7 +16560,7 @@
 <p>Retrieve a Client Identifier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_100">Description</h6>
+<h6 id="_description_115">Description</h6>
 <div class="paragraph">
 <p>Example Requests: clients/1/identifier/2   clients/1/identifier/2?template=true  clients/1/identifiers/2?fields=documentKey,documentType,description</p>
 </div>
@@ -13720,7 +16665,7 @@
 <p>Update a Client Identifier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_101">Description</h6>
+<h6 id="_description_116">Description</h6>
 <div class="paragraph">
 <p>Updates a Client Identifier</p>
 </div>
@@ -13858,7 +16803,7 @@
 <p>List Client Transactions</p>
 </div>
 <div class="sect5">
-<h6 id="_description_102">Description</h6>
+<h6 id="_description_117">Description</h6>
 <div class="paragraph">
 <p>The list capability of client transaction can support pagination.  Example Requests:  clients/189/transactions  clients/189/transactions?offset=10&amp;limit=50</p>
 </div>
@@ -13993,7 +16938,7 @@
 <p>Retrieve a Client Transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_103">Description</h6>
+<h6 id="_description_118">Description</h6>
 <div class="paragraph">
 <p>Example Requests: clients/1/transactions/1   clients/1/transactions/1?fields=id,officeName</p>
 </div>
@@ -14098,7 +17043,7 @@
 <p>Undo a Client Transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_104">Description</h6>
+<h6 id="_description_119">Description</h6>
 <div class="paragraph">
 <p>Undoes a Client Transaction</p>
 </div>
@@ -14236,7 +17181,7 @@
 <p>Create an address for a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_105">Description</h6>
+<h6 id="_description_120">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields :  type and clientId</p>
 </div>
@@ -14394,7 +17339,7 @@
 <p>List all addresses for a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_106">Description</h6>
+<h6 id="_description_121">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  client/1/addresses   clients/1/addresses?status=false,true&amp;&amp;type=1,2,3</p>
 </div>
@@ -14526,7 +17471,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_107">Description</h6>
+<h6 id="_description_122">Description</h6>
 
 </div>
 <div class="sect5">
@@ -14593,7 +17538,7 @@
 <p>Update an address for a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_108">Description</h6>
+<h6 id="_description_123">Description</h6>
 <div class="paragraph">
 <p>All the address fields can be updated by using update client address API  Mandatory Fields type and addressId</p>
 </div>
@@ -14724,7 +17669,7 @@
 <p>Create a Code description</p>
 </div>
 <div class="sect5">
-<h6 id="_description_109">Description</h6>
+<h6 id="_description_124">Description</h6>
 
 </div>
 <div class="sect5">
@@ -14850,7 +17795,7 @@
 <p>Delete a Code description</p>
 </div>
 <div class="sect5">
-<h6 id="_description_110">Description</h6>
+<h6 id="_description_125">Description</h6>
 <div class="paragraph">
 <p>Deletes a code description</p>
 </div>
@@ -14955,7 +17900,7 @@
 <p>List Code Values</p>
 </div>
 <div class="sect5">
-<h6 id="_description_111">Description</h6>
+<h6 id="_description_126">Description</h6>
 <div class="paragraph">
 <p>Returns the list of Code Values for a given Code  Example Requests:  codes/1/codevalues</p>
 </div>
@@ -15053,7 +17998,7 @@
 <p>Retrieve a Code description</p>
 </div>
 <div class="sect5">
-<h6 id="_description_112">Description</h6>
+<h6 id="_description_127">Description</h6>
 <div class="paragraph">
 <p>Returns the details of a Code Value  Example Requests:  codes/1/codevalues/1</p>
 </div>
@@ -15158,7 +18103,7 @@
 <p>Update a Code description</p>
 </div>
 <div class="sect5">
-<h6 id="_description_113">Description</h6>
+<h6 id="_description_128">Description</h6>
 <div class="paragraph">
 <p>Updates the details of a code description.</p>
 </div>
@@ -15296,7 +18241,7 @@
 <p>Create a Code</p>
 </div>
 <div class="sect5">
-<h6 id="_description_114">Description</h6>
+<h6 id="_description_129">Description</h6>
 <div class="paragraph">
 <p>Creates a code. Codes created through api are always 'user defined' and so system defined is marked as false.</p>
 </div>
@@ -15394,7 +18339,7 @@
 <p>Delete a Code</p>
 </div>
 <div class="sect5">
-<h6 id="_description_115">Description</h6>
+<h6 id="_description_130">Description</h6>
 <div class="paragraph">
 <p>Deletes a code if it is not system defined.</p>
 </div>
@@ -15492,7 +18437,7 @@
 <p>Retrieve a Code</p>
 </div>
 <div class="sect5">
-<h6 id="_description_116">Description</h6>
+<h6 id="_description_131">Description</h6>
 <div class="paragraph">
 <p>Returns the details of a Code.  Example Requests:  codes/1</p>
 </div>
@@ -15590,7 +18535,7 @@
 <p>Retrieve Codes</p>
 </div>
 <div class="sect5">
-<h6 id="_description_117">Description</h6>
+<h6 id="_description_132">Description</h6>
 <div class="paragraph">
 <p>Returns the list of codes.  Example Requests:  codes</p>
 </div>
@@ -15659,7 +18604,7 @@
 <p>Update a Code</p>
 </div>
 <div class="sect5">
-<h6 id="_description_118">Description</h6>
+<h6 id="_description_133">Description</h6>
 <div class="paragraph">
 <p>Updates the details of a code if it is not system defined.</p>
 </div>
@@ -15790,7 +18735,7 @@
 <p>Create a new collateral</p>
 </div>
 <div class="sect5">
-<h6 id="_description_119">Description</h6>
+<h6 id="_description_134">Description</h6>
 <div class="paragraph">
 <p>Collateral Creation</p>
 </div>
@@ -15888,7 +18833,7 @@
 <p>Delete a Collateral</p>
 </div>
 <div class="sect5">
-<h6 id="_description_120">Description</h6>
+<h6 id="_description_135">Description</h6>
 <div class="paragraph">
 <p>Delete Collateral</p>
 </div>
@@ -15986,7 +18931,7 @@
 <p>Get All Collaterals</p>
 </div>
 <div class="sect5">
-<h6 id="_description_121">Description</h6>
+<h6 id="_description_136">Description</h6>
 <div class="paragraph">
 <p>Fetch all Collateral Products</p>
 </div>
@@ -16055,7 +19000,7 @@
 <p>Get Collateral</p>
 </div>
 <div class="sect5">
-<h6 id="_description_122">Description</h6>
+<h6 id="_description_137">Description</h6>
 <div class="paragraph">
 <p>Fetch Collateral</p>
 </div>
@@ -16153,7 +19098,7 @@
 <p>Get Collateral Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_123">Description</h6>
+<h6 id="_description_138">Description</h6>
 <div class="paragraph">
 <p>Get Collateral Template</p>
 </div>
@@ -16222,7 +19167,7 @@
 <p>Update Collateral</p>
 </div>
 <div class="sect5">
-<h6 id="_description_124">Description</h6>
+<h6 id="_description_139">Description</h6>
 <div class="paragraph">
 <p>Update Collateral</p>
 </div>
@@ -16353,7 +19298,7 @@
 <p>Generate Individual Collection Sheet | Save Collection Sheet</p>
 </div>
 <div class="sect5">
-<h6 id="_description_125">Description</h6>
+<h6 id="_description_140">Description</h6>
 <div class="paragraph">
 <p>Generate Individual Collection Sheet:  This Api retrieves repayment details of all individual loans under a office as on a specified meeting date.  Save Collection Sheet:  This Api allows the loan officer to perform bulk repayments of individual loans and deposit of mandatory savings on a given meeting date.</p>
 </div>
@@ -16481,7 +19426,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_126">Description</h6>
+<h6 id="_description_141">Description</h6>
 
 </div>
 <div class="sect5">
@@ -16604,7 +19549,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_127">Description</h6>
+<h6 id="_description_142">Description</h6>
 
 </div>
 <div class="sect5">
@@ -16727,7 +19672,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_128">Description</h6>
+<h6 id="_description_143">Description</h6>
 
 </div>
 <div class="sect5">
@@ -16850,7 +19795,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_129">Description</h6>
+<h6 id="_description_144">Description</h6>
 
 </div>
 <div class="sect5">
@@ -16914,7 +19859,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_130">Description</h6>
+<h6 id="_description_145">Description</h6>
 
 </div>
 <div class="sect5">
@@ -17007,7 +19952,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_131">Description</h6>
+<h6 id="_description_146">Description</h6>
 
 </div>
 <div class="sect5">
@@ -17100,7 +20045,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_132">Description</h6>
+<h6 id="_description_147">Description</h6>
 
 </div>
 <div class="sect5">
@@ -17164,7 +20109,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_133">Description</h6>
+<h6 id="_description_148">Description</h6>
 
 </div>
 <div class="sect5">
@@ -17228,7 +20173,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_134">Description</h6>
+<h6 id="_description_149">Description</h6>
 
 </div>
 <div class="sect5">
@@ -17292,7 +20237,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_135">Description</h6>
+<h6 id="_description_150">Description</h6>
 
 </div>
 <div class="sect5">
@@ -17385,7 +20330,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_136">Description</h6>
+<h6 id="_description_151">Description</h6>
 
 </div>
 <div class="sect5">
@@ -17508,7 +20453,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_137">Description</h6>
+<h6 id="_description_152">Description</h6>
 
 </div>
 <div class="sect5">
@@ -17607,7 +20552,7 @@
 <p>Retrieve Currency Configuration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_138">Description</h6>
+<h6 id="_description_153">Description</h6>
 <div class="paragraph">
 <p>Returns the list of currencies permitted for use AND the list of currencies not selected (but available for selection).  Example Requests:  currencies   currencies?fields=selectedCurrencyOptions</p>
 </div>
@@ -17676,7 +20621,7 @@
 <p>Update Currency Configuration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_139">Description</h6>
+<h6 id="_description_154">Description</h6>
 <div class="paragraph">
 <p>Updates the list of currencies permitted for use.</p>
 </div>
@@ -17777,7 +20722,7 @@
 <p>Create Data Table</p>
 </div>
 <div class="sect5">
-<h6 id="_description_140">Description</h6>
+<h6 id="_description_155">Description</h6>
 <div class="paragraph">
 <p>Create a new data table and registers it with the Apache Fineract Core application table.  Field Descriptions  Mandatory - datatableName :   The name of the Data Table.  Mandatory - apptableName  Application table name. Must be one of the following:  m_client  m_group  m_loan  m_office  m_saving_account  m_product_loan  m_savings_product  Mandatory - columns   An array of columns in the new Data Table.  Optional - multiRow  Allows to create multiple entries in the Data Table. Optional, defaults to false. If this property is not provided Data Table will allow only one entry.  Field Descriptions - columns  Mandatory - name  Name of the created column. Can contain only alphanumeric characters, underscores and spaces, but cannot start with a number. Cannot start or end with an underscore or space.  Mandatory - type  Column type. Must be one of the following:  Boolean  Date  DateTime  Decimal  Dropdown   Number  String  Text  Mandatory [type = Dropdown] - code  Used in Code description fields. Column name becomes: code_cd_name. Mandatory if using type Dropdown, otherwise an error is returned.  Optional - mandatory  Determines whether this column must have a value in every entry. Optional, defaults to false.  Mandatory [type = String] - length  Length of the text field. Mandatory if type String is used, otherwise an error is returned.</p>
 </div>
@@ -17875,7 +20820,7 @@
 <p>Create Entry in Data Table</p>
 </div>
 <div class="sect5">
-<h6 id="_description_141">Description</h6>
+<h6 id="_description_156">Description</h6>
 <div class="paragraph">
 <p>Adds a row to the data table.  Note that the default datatable UI functionality converts any field name containing spaces to underscores when using the API. This means the field name \"Business Description\" is considered the same as \"Business_Description\". So you shouldn&#8217;t have both \"versions\" in any data table.</p>
 </div>
@@ -18010,7 +20955,7 @@
 <p>Delete Data Table</p>
 </div>
 <div class="sect5">
-<h6 id="_description_142">Description</h6>
+<h6 id="_description_157">Description</h6>
 <div class="paragraph">
 <p>Deletes a data table and deregisters it from the Apache Fineract Core application table.</p>
 </div>
@@ -18108,7 +21053,7 @@
 <p>Delete Entry(s) in Data Table</p>
 </div>
 <div class="sect5">
-<h6 id="_description_143">Description</h6>
+<h6 id="_description_158">Description</h6>
 <div class="paragraph">
 <p>Deletes the entry (if it exists) for data tables that are one-to-one with the application table.  Deletes the entries (if they exist) for data tables that are one-to-many with the application table.</p>
 </div>
@@ -18213,7 +21158,7 @@
 <p>Delete Entry in Datatable (One to Many)</p>
 </div>
 <div class="sect5">
-<h6 id="_description_144">Description</h6>
+<h6 id="_description_159">Description</h6>
 <div class="paragraph">
 <p>Deletes the entry (if it exists) for data tables that are one to many with the application table.</p>
 </div>
@@ -18325,7 +21270,7 @@
 <p>Deregister Data Table</p>
 </div>
 <div class="sect5">
-<h6 id="_description_145">Description</h6>
+<h6 id="_description_160">Description</h6>
 <div class="paragraph">
 <p>Deregisters a data table. It will no longer be available through the API.</p>
 </div>
@@ -18423,7 +21368,7 @@
 <p>Retrieve Data Table Details</p>
 </div>
 <div class="sect5">
-<h6 id="_description_146">Description</h6>
+<h6 id="_description_161">Description</h6>
 <div class="paragraph">
 <p>Lists a registered data table details and the Apache Fineract Core application table they are registered to.</p>
 </div>
@@ -18521,7 +21466,7 @@
 <p>Retrieve Entry(s) from Data Table</p>
 </div>
 <div class="sect5">
-<h6 id="_description_147">Description</h6>
+<h6 id="_description_162">Description</h6>
 <div class="paragraph">
 <p>Gets the entry (if it exists) for data tables that are one to one with the application table.  Gets the entries (if they exist) for data tables that are one to many with the application table.  Note: The 'fields' parameter is not available for datatables.  ARGUMENTS orderoptional Specifies the order in which data is returned.genericResultSetoptional, defaults to false If 'true' an optimised JSON format is returned suitable for tabular display of data. This format is used by the default data tables UI functionality. Example Requests:  datatables/extra_client_details/1   datatables/extra_family_details/1?order=<code>Date of Birth</code> desc   datatables/extra_client_details/1?genericResultSet=true</p>
 </div>
@@ -18653,7 +21598,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_148">Description</h6>
+<h6 id="_description_163">Description</h6>
 
 </div>
 <div class="sect5">
@@ -18793,7 +21738,7 @@
 <p>List Data Tables</p>
 </div>
 <div class="sect5">
-<h6 id="_description_149">Description</h6>
+<h6 id="_description_164">Description</h6>
 <div class="paragraph">
 <p>Lists registered data tables and the Apache Fineract Core application table they are registered to.  ARGUMENTS  apptable  - optional The Apache Fineract core application table.  Example Requests:  datatables?apptable=m_client   datatables</p>
 </div>
@@ -18891,7 +21836,7 @@
 <p>Register Data Table</p>
 </div>
 <div class="sect5">
-<h6 id="_description_150">Description</h6>
+<h6 id="_description_165">Description</h6>
 <div class="paragraph">
 <p>Registers a data table with the Apache Fineract Core application table. This allows the data table to be maintained through the API. In case the datatable is a PPI (survey table), a parameter category should be pass along with the request. The API currently support one category (200)</p>
 </div>
@@ -19026,7 +21971,7 @@
 <p>Update Data Table</p>
 </div>
 <div class="sect5">
-<h6 id="_description_151">Description</h6>
+<h6 id="_description_166">Description</h6>
 <div class="paragraph">
 <p>Modifies fields of a data table. If the apptableName parameter is passed, data table is deregistered and registered with the new application table.</p>
 </div>
@@ -19154,7 +22099,7 @@
 <p>Update Entry in Data Table (One to Many)</p>
 </div>
 <div class="sect5">
-<h6 id="_description_152">Description</h6>
+<h6 id="_description_167">Description</h6>
 <div class="paragraph">
 <p>Updates the row (if it exists) of the data table.</p>
 </div>
@@ -19296,7 +22241,7 @@
 <p>Update Entry in Data Table (One to One)</p>
 </div>
 <div class="sect5">
-<h6 id="_description_153">Description</h6>
+<h6 id="_description_168">Description</h6>
 <div class="paragraph">
 <p>Updates the row (if it exists) of the data table.</p>
 </div>
@@ -19431,7 +22376,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_154">Description</h6>
+<h6 id="_description_169">Description</h6>
 
 </div>
 <div class="sect5">
@@ -19584,7 +22529,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_155">Description</h6>
+<h6 id="_description_170">Description</h6>
 
 </div>
 <div class="sect5">
@@ -19721,7 +22666,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_156">Description</h6>
+<h6 id="_description_171">Description</h6>
 
 </div>
 <div class="sect5">
@@ -19895,7 +22840,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_157">Description</h6>
+<h6 id="_description_172">Description</h6>
 
 </div>
 <div class="sect5">
@@ -19988,7 +22933,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_158">Description</h6>
+<h6 id="_description_173">Description</h6>
 
 </div>
 <div class="sect5">
@@ -20084,7 +23029,7 @@
 <p>Create a SMS Campaign</p>
 </div>
 <div class="sect5">
-<h6 id="_description_159">Description</h6>
+<h6 id="_description_174">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields campaignName, campaignType, triggerType, providerId, runReportId, message  Mandatory Fields for Cash based on selected report id paramValue in json format</p>
 </div>
@@ -20179,7 +23124,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_160">Description</h6>
+<h6 id="_description_175">Description</h6>
 
 </div>
 <div class="sect5">
@@ -20272,7 +23217,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_161">Description</h6>
+<h6 id="_description_176">Description</h6>
 
 </div>
 <div class="sect5">
@@ -20368,7 +23313,7 @@
 <p>Delete a SMS Campaign</p>
 </div>
 <div class="sect5">
-<h6 id="_description_162">Description</h6>
+<h6 id="_description_177">Description</h6>
 <div class="paragraph">
 <p>Note: Only closed SMS Campaigns can be deleted</p>
 </div>
@@ -20463,7 +23408,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_163">Description</h6>
+<h6 id="_description_178">Description</h6>
 
 </div>
 <div class="sect5">
@@ -20556,7 +23501,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_164">Description</h6>
+<h6 id="_description_179">Description</h6>
 
 </div>
 <div class="sect5">
@@ -20656,7 +23601,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_165">Description</h6>
+<h6 id="_description_180">Description</h6>
 
 </div>
 <div class="sect5">
@@ -20749,7 +23694,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_166">Description</h6>
+<h6 id="_description_181">Description</h6>
 
 </div>
 <div class="sect5">
@@ -20842,7 +23787,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_167">Description</h6>
+<h6 id="_description_182">Description</h6>
 
 </div>
 <div class="sect5">
@@ -20906,7 +23851,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_168">Description</h6>
+<h6 id="_description_183">Description</h6>
 
 </div>
 <div class="sect5">
@@ -20999,7 +23944,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_169">Description</h6>
+<h6 id="_description_184">Description</h6>
 
 </div>
 <div class="sect5">
@@ -21092,7 +24037,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_170">Description</h6>
+<h6 id="_description_185">Description</h6>
 
 </div>
 <div class="sect5">
@@ -21162,7 +24107,7 @@
 <p>SMS Campaign</p>
 </div>
 <div class="sect5">
-<h6 id="_description_171">Description</h6>
+<h6 id="_description_186">Description</h6>
 <div class="paragraph">
 <p>Activates | Deactivates | Reactivates</p>
 </div>
@@ -21287,7 +24232,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_172">Description</h6>
+<h6 id="_description_187">Description</h6>
 
 </div>
 <div class="sect5">
@@ -21351,7 +24296,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_173">Description</h6>
+<h6 id="_description_188">Description</h6>
 
 </div>
 <div class="sect5">
@@ -21444,7 +24389,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_174">Description</h6>
+<h6 id="_description_189">Description</h6>
 
 </div>
 <div class="sect5">
@@ -21537,7 +24482,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_175">Description</h6>
+<h6 id="_description_190">Description</h6>
 
 </div>
 <div class="sect5">
@@ -21601,7 +24546,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_176">Description</h6>
+<h6 id="_description_191">Description</h6>
 
 </div>
 <div class="sect5">
@@ -21665,7 +24610,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_177">Description</h6>
+<h6 id="_description_192">Description</h6>
 
 </div>
 <div class="sect5">
@@ -21729,7 +24674,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_178">Description</h6>
+<h6 id="_description_193">Description</h6>
 
 </div>
 <div class="sect5">
@@ -21885,7 +24830,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_179">Description</h6>
+<h6 id="_description_194">Description</h6>
 
 </div>
 <div class="sect5">
@@ -21952,7 +24897,7 @@
 <p>List SMS Campaigns</p>
 </div>
 <div class="sect5">
-<h6 id="_description_180">Description</h6>
+<h6 id="_description_195">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  smscampaigns</p>
 </div>
@@ -22078,7 +25023,7 @@
 <p>Retrieve a SMS Campaign</p>
 </div>
 <div class="sect5">
-<h6 id="_description_181">Description</h6>
+<h6 id="_description_196">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  smscampaigns/1</p>
 </div>
@@ -22173,7 +25118,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_182">Description</h6>
+<h6 id="_description_197">Description</h6>
 
 </div>
 <div class="sect5">
@@ -22294,7 +25239,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_183">Description</h6>
+<h6 id="_description_198">Description</h6>
 
 </div>
 <div class="sect5">
@@ -22468,7 +25413,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_184">Description</h6>
+<h6 id="_description_199">Description</h6>
 
 </div>
 <div class="sect5">
@@ -22532,7 +25477,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_185">Description</h6>
+<h6 id="_description_200">Description</h6>
 
 </div>
 <div class="sect5">
@@ -22625,7 +25570,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_186">Description</h6>
+<h6 id="_description_201">Description</h6>
 
 </div>
 <div class="sect5">
@@ -22718,7 +25663,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_187">Description</h6>
+<h6 id="_description_202">Description</h6>
 
 </div>
 <div class="sect5">
@@ -22811,7 +25756,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_188">Description</h6>
+<h6 id="_description_203">Description</h6>
 
 </div>
 <div class="sect5">
@@ -22932,7 +25877,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_189">Description</h6>
+<h6 id="_description_204">Description</h6>
 
 </div>
 <div class="sect5">
@@ -23053,7 +25998,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_190">Description</h6>
+<h6 id="_description_205">Description</h6>
 
 </div>
 <div class="sect5">
@@ -23153,7 +26098,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_191">Description</h6>
+<h6 id="_description_206">Description</h6>
 
 </div>
 <div class="sect5">
@@ -23220,7 +26165,7 @@
 <p>Retrieve a SMS Campaign</p>
 </div>
 <div class="sect5">
-<h6 id="_description_192">Description</h6>
+<h6 id="_description_207">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  smscampaigns/1   smscampaigns/1?template=true   smscampaigns/template</p>
 </div>
@@ -23286,7 +26231,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_193">Description</h6>
+<h6 id="_description_208">Description</h6>
 
 </div>
 <div class="sect5">
@@ -23379,7 +26324,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_194">Description</h6>
+<h6 id="_description_209">Description</h6>
 
 </div>
 <div class="sect5">
@@ -23502,7 +26447,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_195">Description</h6>
+<h6 id="_description_210">Description</h6>
 
 </div>
 <div class="sect5">
@@ -23628,7 +26573,7 @@
 <p>Update a Campaign</p>
 </div>
 <div class="sect5">
-<h6 id="_description_196">Description</h6>
+<h6 id="_description_211">Description</h6>
 
 </div>
 <div class="sect5">
@@ -23751,7 +26696,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_197">Description</h6>
+<h6 id="_description_212">Description</h6>
 
 </div>
 <div class="sect5">
@@ -23925,7 +26870,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_198">Description</h6>
+<h6 id="_description_213">Description</h6>
 
 </div>
 <div class="sect5">
@@ -24018,7 +26963,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_199">Description</h6>
+<h6 id="_description_214">Description</h6>
 
 </div>
 <div class="sect5">
@@ -24114,7 +27059,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_200">Description</h6>
+<h6 id="_description_215">Description</h6>
 
 </div>
 <div class="sect5">
@@ -24268,7 +27213,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_201">Description</h6>
+<h6 id="_description_216">Description</h6>
 
 </div>
 <div class="sect5">
@@ -24361,7 +27306,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_202">Description</h6>
+<h6 id="_description_217">Description</h6>
 
 </div>
 <div class="sect5">
@@ -24454,7 +27399,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_203">Description</h6>
+<h6 id="_description_218">Description</h6>
 
 </div>
 <div class="sect5">
@@ -24518,7 +27463,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_204">Description</h6>
+<h6 id="_description_219">Description</h6>
 
 </div>
 <div class="sect5">
@@ -24611,7 +27556,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_205">Description</h6>
+<h6 id="_description_220">Description</h6>
 
 </div>
 <div class="sect5">
@@ -24704,7 +27649,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_206">Description</h6>
+<h6 id="_description_221">Description</h6>
 
 </div>
 <div class="sect5">
@@ -24833,7 +27778,7 @@
 <p>Create a Document</p>
 </div>
 <div class="sect5">
-<h6 id="_description_207">Description</h6>
+<h6 id="_description_222">Description</h6>
 <div class="paragraph">
 <p>Note: A document is created using a Multi-part form upload   Body Parts  name :  Name or summary of the document  description :  Description of the document  file :  The file to be uploaded  Mandatory Fields :  file and description</p>
 </div>
@@ -25026,7 +27971,7 @@
 <p>Remove a Document</p>
 </div>
 <div class="sect5">
-<h6 id="_description_208">Description</h6>
+<h6 id="_description_223">Description</h6>
 
 </div>
 <div class="sect5">
@@ -25136,7 +28081,7 @@
 <p>Retrieve Binary File associated with Document</p>
 </div>
 <div class="sect5">
-<h6 id="_description_209">Description</h6>
+<h6 id="_description_224">Description</h6>
 <div class="paragraph">
 <p>Request used to download the file associated with the document  Example Requests:  clients/1/documents/1/attachment   loans/1/documents/1/attachment</p>
 </div>
@@ -25238,7 +28183,7 @@
 <p>Retrieve a Document</p>
 </div>
 <div class="sect5">
-<h6 id="_description_210">Description</h6>
+<h6 id="_description_225">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  clients/1/documents/1   loans/1/documents/1   client_identifiers/1/documents/1?fields=name,description</p>
 </div>
@@ -25350,7 +28295,7 @@
 <p>List documents</p>
 </div>
 <div class="sect5">
-<h6 id="_description_211">Description</h6>
+<h6 id="_description_226">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  clients/1/documents  client_identifiers/1/documents  loans/1/documents?fields=name,description</p>
 </div>
@@ -25455,7 +28400,7 @@
 <p>Update a Document</p>
 </div>
 <div class="sect5">
-<h6 id="_description_212">Description</h6>
+<h6 id="_description_227">Description</h6>
 <div class="paragraph">
 <p>Note: A document is updated using a Multi-part form upload  Body Parts name Name or summary of the document description Description of the document file The file to be uploaded</p>
 </div>
@@ -25658,7 +28603,7 @@
 <p>Create Entity-Datatable Checks</p>
 </div>
 <div class="sect5">
-<h6 id="_description_213">Description</h6>
+<h6 id="_description_228">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields :  entity, status, datatableName  Non-Mandatory Fields :  productId</p>
 </div>
@@ -25756,7 +28701,7 @@
 <p>Delete Entity-Datatable Checks</p>
 </div>
 <div class="sect5">
-<h6 id="_description_214">Description</h6>
+<h6 id="_description_229">Description</h6>
 <div class="paragraph">
 <p>Deletes an existing Entity-Datatable Check</p>
 </div>
@@ -25884,7 +28829,7 @@
 <p>Retrieve Entity-Datatable Checks Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_215">Description</h6>
+<h6 id="_description_230">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource useful for building maintenance user interface screens for Entity-Datatable Checks applications. The template data returned consists of:  Allowed description Lists Example Request:  entityDatatableChecks/template</p>
 </div>
@@ -25953,7 +28898,7 @@
 <p>List Entity-Datatable Checks</p>
 </div>
 <div class="sect5">
-<h6 id="_description_216">Description</h6>
+<h6 id="_description_231">Description</h6>
 <div class="paragraph">
 <p>The list capability of Entity-Datatable Checks can support pagination.  OPTIONAL ARGUMENTS offset Integer optional, defaults to 0 Indicates the result from which pagination startslimit Integer optional, defaults to 200 Restricts the size of results returned. To override the default and return all entries you must explicitly pass a non-positive integer value for limit e.g. limit=0, or limit=-1 Example Request:  entityDatatableChecks?offset=0&amp;limit=15</p>
 </div>
@@ -26082,7 +29027,7 @@
 <p>Retrieves the Entity Field Configuration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_217">Description</h6>
+<h6 id="_description_232">Description</h6>
 <div class="paragraph">
 <p>It retrieves all the Entity Field Configuration</p>
 </div>
@@ -26183,7 +29128,7 @@
 <p>Retrieve External Services Configuration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_218">Description</h6>
+<h6 id="_description_233">Description</h6>
 <div class="paragraph">
 <p>Returns a external Service configurations based on the Service Name.  Service Names supported are S3 and SMTP.  Example Requests:  externalservice/SMTP</p>
 </div>
@@ -26281,7 +29226,7 @@
 <p>Update External Service</p>
 </div>
 <div class="sect5">
-<h6 id="_description_219">Description</h6>
+<h6 id="_description_234">Description</h6>
 <div class="paragraph">
 <p>Updates the external Service Configuration for a Service Name.  Example:   externalservice/S3</p>
 </div>
@@ -26402,7 +29347,7 @@
 <p>Fetch authenticated user details</p>
 </div>
 <div class="sect5">
-<h6 id="_description_220">Description</h6>
+<h6 id="_description_235">Description</h6>
 <div class="paragraph">
 <p>checks the Authentication and returns the set roles and permissions allowed.</p>
 </div>
@@ -26471,7 +29416,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_221">Description</h6>
+<h6 id="_description_236">Description</h6>
 
 </div>
 <div class="sect5">
@@ -26594,7 +29539,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_222">Description</h6>
+<h6 id="_description_237">Description</h6>
 
 </div>
 <div class="sect5">
@@ -26687,7 +29632,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_223">Description</h6>
+<h6 id="_description_238">Description</h6>
 
 </div>
 <div class="sect5">
@@ -26794,7 +29739,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_224">Description</h6>
+<h6 id="_description_239">Description</h6>
 
 </div>
 <div class="sect5">
@@ -26858,7 +29803,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_225">Description</h6>
+<h6 id="_description_240">Description</h6>
 
 </div>
 <div class="sect5">
@@ -26951,7 +29896,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_226">Description</h6>
+<h6 id="_description_241">Description</h6>
 
 </div>
 <div class="sect5">
@@ -27077,7 +30022,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_227">Description</h6>
+<h6 id="_description_242">Description</h6>
 
 </div>
 <div class="sect5">
@@ -27203,7 +30148,7 @@
 <p>Delete a fixed deposit application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_228">Description</h6>
+<h6 id="_description_243">Description</h6>
 <div class="paragraph">
 <p>At present we support hard delete of fixed deposit application so long as its in 'Submitted and pending approval' state. One the application is moves past this state, it is not possible to do a 'hard' delete of the application or the account. An API endpoint will be added to close/de-activate the fixed deposit account.</p>
 </div>
@@ -27298,7 +30243,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_229">Description</h6>
+<h6 id="_description_244">Description</h6>
 
 </div>
 <div class="sect5">
@@ -27405,7 +30350,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_230">Description</h6>
+<h6 id="_description_245">Description</h6>
 
 </div>
 <div class="sect5">
@@ -27508,7 +30453,7 @@
 <p>Approve fixed deposit application | Undo approval fixed deposit application | Reject fixed deposit application | Withdraw fixed deposit application | Activate a fixed deposit account | Close a fixed deposit account | Premature Close a fixed deposit account | Calculate Premature amount on Fixed deposit account | Calculate Interest on Fixed Deposit Account | Post Interest on Fixed Deposit Account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_231">Description</h6>
+<h6 id="_description_246">Description</h6>
 <div class="paragraph">
 <p>Approve fixed deposit application:  Approves fixed deposit application so long as its in 'Submitted and pending approval' state.  Undo approval fixed deposit application:  Will move 'approved' fixed deposit application back to 'Submitted and pending approval' state.  Reject fixed deposit application:  Rejects fixed deposit application so long as its in 'Submitted and pending approval' state.  Withdraw fixed deposit application:  Used when an applicant withdraws from the fixed deposit application. It must be in 'Submitted and pending approval' state.  Close a fixed deposit account:  Results in a Matured fixed deposit account being converted into a 'closed' fixed deposit account.  Premature Close a fixed deposit account:  Results in an Active fixed deposit account being converted into a 'Premature Closed' fixed deposit account with options to withdraw prematured amount. (premature amount is calculated using interest rate chart applicable along with penal interest if any.)  Calculate Premature amount on Fixed deposit account:  Calculate premature amount on fixed deposit account till premature close date. Premature amount is calculated based on interest chart and penal interest applicable.  Calculate Interest on Fixed Deposit Account:  Calculates interest earned on a fixed deposit account based on todays date. It does not attempt to post or credit the interest on the account. That is responsibility of the Post Interest API that will likely be called by overnight process.  Post Interest on Fixed Deposit Account:  Calculates and Posts interest earned on a fixed deposit account based on today&#8217;s date and whether an interest posting or crediting event is due.  Showing request/response for Calculate Interest on Fixed Deposit Account</p>
 </div>
@@ -27663,7 +30608,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_232">Description</h6>
+<h6 id="_description_247">Description</h6>
 
 </div>
 <div class="sect5">
@@ -27770,7 +30715,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_233">Description</h6>
+<h6 id="_description_248">Description</h6>
 
 </div>
 <div class="sect5">
@@ -27880,7 +30825,7 @@
 <p>List Fixed deposit applications/accounts</p>
 </div>
 <div class="sect5">
-<h6 id="_description_234">Description</h6>
+<h6 id="_description_249">Description</h6>
 <div class="paragraph">
 <p>Lists Fixed Deposit Accounts  Example Requests:    fixeddepositaccounts    fixeddepositaccounts?fields=name</p>
 </div>
@@ -28006,7 +30951,7 @@
 <p>Retrieve a fixed deposit application/account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_235">Description</h6>
+<h6 id="_description_250">Description</h6>
 <div class="paragraph">
 <p>Retrieves a fixed deposit application/account  Example Requests :    fixeddepositaccounts/1  fixeddepositaccounts/1?associations=all</p>
 </div>
@@ -28141,7 +31086,7 @@
 <p>Submit new fixed deposit application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_236">Description</h6>
+<h6 id="_description_251">Description</h6>
 <div class="paragraph">
 <p>Submits a new fixed deposit applicationMandatory Fields: clientId or groupId, productId, submittedOnDate, depositAmount, depositPeriod, depositPeriodFrequencyId  Optional Fields: accountNo, externalId, fieldOfficerId,linkAccountId(if provided initial deposit amount will be collected from this account),transferInterestToSavings(By enabling this flag all interest postings will be transferred to linked saving account )</p>
 </div>
@@ -28239,7 +31184,7 @@
 <p>Retrieve Fixed Deposit Account Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_237">Description</h6>
+<h6 id="_description_252">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for fixed deposit applications. The template data returned consists of any or all of:    Field Defaults  Allowed Value ListsExample Requests:    fixeddepositaccounts/template?clientId=1</p>
 </div>
@@ -28358,7 +31303,7 @@
 <p>Modify a fixed deposit application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_238">Description</h6>
+<h6 id="_description_253">Description</h6>
 <div class="paragraph">
 <p>Fixed deposit application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc</p>
 </div>
@@ -28486,7 +31431,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_239">Description</h6>
+<h6 id="_description_254">Description</h6>
 
 </div>
 <div class="sect5">
@@ -28646,7 +31591,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_240">Description</h6>
+<h6 id="_description_255">Description</h6>
 
 </div>
 <div class="sect5">
@@ -28746,7 +31691,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_241">Description</h6>
+<h6 id="_description_256">Description</h6>
 
 </div>
 <div class="sect5">
@@ -28839,7 +31784,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_242">Description</h6>
+<h6 id="_description_257">Description</h6>
 
 </div>
 <div class="sect5">
@@ -28998,7 +31943,7 @@
 <p>Create a Fixed Deposit Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_243">Description</h6>
+<h6 id="_description_258">Description</h6>
 <div class="paragraph">
 <p>Creates a Fixed Deposit Product  Mandatory Fields: name, shortName, description, currencyCode, digitsAfterDecimal,inMultiplesOf, interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, minDepositTerm, minDepositTermTypeId, accountingRule  Optional Fields: lockinPeriodFrequency, lockinPeriodFrequencyType, maxDepositTerm, maxDepositTermTypeId, inMultiplesOfDepositTerm, inMultiplesOfDepositTermTypeId, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, charges, charts, , withHoldTax, taxGroupId   Mandatory Fields for Cash based accounting (accountingRule = 2): savingsReferenceAccountId, savingsControlAccountId, interestOnSavingsAccountId, incomeFromFeeAccountId, transfersInSuspenseAccountId, incomeFromPenaltyAccountId</p>
 </div>
@@ -29096,7 +32041,7 @@
 <p>Delete a Fixed Deposit Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_244">Description</h6>
+<h6 id="_description_259">Description</h6>
 <div class="paragraph">
 <p>Deletes a Fixed Deposit Product</p>
 </div>
@@ -29194,7 +32139,7 @@
 <p>List Fixed Deposit Products</p>
 </div>
 <div class="sect5">
-<h6 id="_description_245">Description</h6>
+<h6 id="_description_260">Description</h6>
 <div class="paragraph">
 <p>Lists Fixed Deposit Products  Example Requests:  fixeddepositproducts   fixeddepositproducts?fields=name</p>
 </div>
@@ -29263,7 +32208,7 @@
 <p>Retrieve a Fixed Deposit Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_246">Description</h6>
+<h6 id="_description_261">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Fixed Deposit Product  Example Requests:  fixeddepositproducts/1   fixeddepositproducts/1?template=true   fixeddepositproducts/1?fields=name,description</p>
 </div>
@@ -29358,7 +32303,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_247">Description</h6>
+<h6 id="_description_262">Description</h6>
 
 </div>
 <div class="sect5">
@@ -29425,7 +32370,7 @@
 <p>Update a Fixed Deposit Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_248">Description</h6>
+<h6 id="_description_263">Description</h6>
 <div class="paragraph">
 <p>Updates a Fixed Deposit Product</p>
 </div>
@@ -29556,7 +32501,7 @@
 <p>Create a new Floating Rate</p>
 </div>
 <div class="sect5">
-<h6 id="_description_249">Description</h6>
+<h6 id="_description_264">Description</h6>
 <div class="paragraph">
 <p>Creates a new Floating Rate Mandatory Fields: name Optional Fields: isBaseLendingRate, isActive, ratePeriods</p>
 </div>
@@ -29654,7 +32599,7 @@
 <p>List Floating Rates</p>
 </div>
 <div class="sect5">
-<h6 id="_description_250">Description</h6>
+<h6 id="_description_265">Description</h6>
 <div class="paragraph">
 <p>Lists Floating Rates</p>
 </div>
@@ -29723,7 +32668,7 @@
 <p>Retrieve Floating Rate</p>
 </div>
 <div class="sect5">
-<h6 id="_description_251">Description</h6>
+<h6 id="_description_266">Description</h6>
 <div class="paragraph">
 <p>Retrieves Floating Rate</p>
 </div>
@@ -29821,7 +32766,7 @@
 <p>Update Floating Rate</p>
 </div>
 <div class="sect5">
-<h6 id="_description_252">Description</h6>
+<h6 id="_description_267">Description</h6>
 <div class="paragraph">
 <p>Updates new Floating Rate. Rate Periods in the past cannot be modified. All the future rateperiods would be replaced with the new ratePeriods data sent.</p>
 </div>
@@ -29952,7 +32897,7 @@
 <p>Create a Fund</p>
 </div>
 <div class="sect5">
-<h6 id="_description_253">Description</h6>
+<h6 id="_description_268">Description</h6>
 <div class="paragraph">
 <p>Creates a Fund</p>
 </div>
@@ -30050,7 +32995,7 @@
 <p>Retrieve a Fund</p>
 </div>
 <div class="sect5">
-<h6 id="_description_254">Description</h6>
+<h6 id="_description_269">Description</h6>
 <div class="paragraph">
 <p>Returns the details of a Fund.  Example Requests:  funds/1</p>
 </div>
@@ -30148,7 +33093,7 @@
 <p>Retrieve Funds</p>
 </div>
 <div class="sect5">
-<h6 id="_description_255">Description</h6>
+<h6 id="_description_270">Description</h6>
 <div class="paragraph">
 <p>Returns the list of funds.  Example Requests:  funds</p>
 </div>
@@ -30217,7 +33162,7 @@
 <p>Update a Fund</p>
 </div>
 <div class="sect5">
-<h6 id="_description_256">Description</h6>
+<h6 id="_description_271">Description</h6>
 <div class="paragraph">
 <p>Updates the details of a fund.</p>
 </div>
@@ -30348,7 +33293,7 @@
 <p>Create a General Ledger Account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_257">Description</h6>
+<h6 id="_description_272">Description</h6>
 <div class="paragraph">
 <p>Note: You may optionally create Hierarchical Chart of Accounts by using the \"parentId\" property of an Account Mandatory Fields:  name, glCode, type, usage and manualEntriesAllowed</p>
 </div>
@@ -30446,7 +33391,7 @@
 <p>Delete an accounting closure</p>
 </div>
 <div class="sect5">
-<h6 id="_description_258">Description</h6>
+<h6 id="_description_273">Description</h6>
 <div class="paragraph">
 <p>Note: Only the latest accounting closure associated with a branch may be deleted.</p>
 </div>
@@ -30541,7 +33486,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_259">Description</h6>
+<h6 id="_description_274">Description</h6>
 
 </div>
 <div class="sect5">
@@ -30634,7 +33579,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_260">Description</h6>
+<h6 id="_description_275">Description</h6>
 
 </div>
 <div class="sect5">
@@ -30744,7 +33689,7 @@
 <p>Retrieve a General Ledger Account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_261">Description</h6>
+<h6 id="_description_276">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  glaccounts/1   glaccounts/1?template=true   glaccounts/1?fields=name,glCode   glaccounts/1?fetchRunningBalance=true</p>
 </div>
@@ -30872,7 +33817,7 @@
 <p>List General Ledger Accounts</p>
 </div>
 <div class="sect5">
-<h6 id="_description_262">Description</h6>
+<h6 id="_description_277">Description</h6>
 <div class="paragraph">
 <p>ARGUMENTS type Integer optional manualEntriesAllowed boolean optional usage Integer optional disabled boolean optional parentId Long optional tagId Long optional Example Requests:  glaccounts   glaccounts?type=1&amp;manualEntriesAllowed=true&amp;usage=1&amp;disabled=false  glaccounts?fetchRunningBalance=true</p>
 </div>
@@ -31005,7 +33950,7 @@
 <p>Retrieve GL Accounts Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_263">Description</h6>
+<h6 id="_description_278">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists Example Request:  glaccounts/template glaccounts/template?type=1  type is optional and integer value from 1 to 5.  1.Assets  2.Liabilities  3.Equity  4.Income  5.Expenses</p>
 </div>
@@ -31103,7 +34048,7 @@
 <p>Update an Accounting closure</p>
 </div>
 <div class="sect5">
-<h6 id="_description_264">Description</h6>
+<h6 id="_description_279">Description</h6>
 <div class="paragraph">
 <p>Once an accounting closure is created, only the comments associated with it may be edited</p>
 </div>
@@ -31234,7 +34179,7 @@
 <p>Retrieve Global Configuration | Retrieve Global Configuration for surveys</p>
 </div>
 <div class="sect5">
-<h6 id="_description_265">Description</h6>
+<h6 id="_description_280">Description</h6>
 <div class="paragraph">
 <p>Returns the list global enable/disable configurations.  Example Requests:  configurations   Returns the list global enable/disable survey configurations.  Example Requests:  configurations/survey</p>
 </div>
@@ -31332,7 +34277,7 @@
 <p>Retrieve Global Configuration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_266">Description</h6>
+<h6 id="_description_281">Description</h6>
 <div class="paragraph">
 <p>Returns a global enable/disable configurations.  Example Requests:  configurations/1</p>
 </div>
@@ -31430,7 +34375,7 @@
 <p>Retrieve Global Configuration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_267">Description</h6>
+<h6 id="_description_282">Description</h6>
 <div class="paragraph">
 <p>Returns a global enable/disable configuration.  Example Requests:  configurations/name/Enable-Address</p>
 </div>
@@ -31528,7 +34473,7 @@
 <p>Update Global Configuration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_268">Description</h6>
+<h6 id="_description_283">Description</h6>
 <div class="paragraph">
 <p>Updates an enable/disable global configuration item.</p>
 </div>
@@ -31659,7 +34604,7 @@
 <p>Activate a Group | Associate Clients | Disassociate Clients | Transfer Clients across groups | Generate Collection Sheet | Save Collection Sheet | Unassign a Staff | Assign a Staff | Close a Group | Unassign a Role | Update a Role</p>
 </div>
 <div class="sect5">
-<h6 id="_description_269">Description</h6>
+<h6 id="_description_284">Description</h6>
 <div class="paragraph">
 <p>Activate a Group:  Groups can be created in a Pending state. This API exists to enable group activation.    If the group happens to be already active this API will result in an error.  Mandatory Fields: activationDate  Associate Clients:  This API allows to associate existing clients to a group.    The clients are listed from the office to which the group is associated.    If client(s) is already associated with group then API will result in an error.  Mandatory Fields: clientMembers  Disassociate Clients:  This API allows to disassociate clients from a group.    Disassociating a client with active joint liability group loans results in an error.  Mandatory Fields: clientMembers  Transfer Clients across groups:  This API allows to transfer clients from one group to another  Mandatory Fields: destinationGroupId and clients  Optional Fields: inheritDestinationGroupLoanOfficer (defaults to true) and transferActiveLoans (defaults to true)  Generate Collection Sheet:  This API retrieves repayment details of all jlg loans of all members of a group on a specified meeting date.  Mandatory Fields: calendarId and transactionDate  Save Collection Sheet:  This api allows the loan officer to perform bulk repayments of JLG loans for a group on its meeting date.  Mandatory Fields: calendarId, transactionDate, actualDisbursementDate  Optional Fields: clientsAttendance, bulkRepaymentTransaction, bulkDisbursementTransactions  Unassign a Staff:  Allows you to unassign the Staff.  Mandatory Fields: staffId  Assign a Staff:  Allows you to assign Staff to an existing Group.    The selected Staff should be belong to the same office (or an office higher up in the hierarchy) as this groupMandatory Fields: staffId  Optional Fields: inheritStaffForClientAccounts (Optional: Boolean if true all members of the group (i.e all clients with active loans and savings ) will inherit the staffId)  Close a Group:  This API exists to close a group. Groups can be closed if they don&#8217;t have any non-closed clients/loans/savingsAccounts.    If the group has any active clients/loans/savingsAccount, this API will result in an error.Assign a Role:  Allows you to assign a Role to an existing member of a group.    We can define the different roles applicable to group members by adding code values to the pre-defined system code GROUPROLE. Example:Group leader etc.  Mandatory Fields: clientId, role  Unassign a Role:  Allows you to unassign Roles associated tp Group members.  Update a Role:  Allows you to update the member Role.  Mandatory Fields: role  Showing request/response for Transfer Clients across groups</p>
 </div>
@@ -31824,7 +34769,7 @@
 <p>Create a Group</p>
 </div>
 <div class="sect5">
-<h6 id="_description_270">Description</h6>
+<h6 id="_description_285">Description</h6>
 <div class="paragraph">
 <p>Creates a Group  Mandatory Fields: name, officeId, active, activationDate (if active=true)  Optional Fields: externalId, staffId, clientMembers</p>
 </div>
@@ -31922,7 +34867,7 @@
 <p>Delete a Group</p>
 </div>
 <div class="sect5">
-<h6 id="_description_271">Description</h6>
+<h6 id="_description_286">Description</h6>
 <div class="paragraph">
 <p>A group can be deleted if it is in pending state and has no associations - clients, loans or savings</p>
 </div>
@@ -32017,7 +34962,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_272">Description</h6>
+<h6 id="_description_287">Description</h6>
 
 </div>
 <div class="sect5">
@@ -32124,7 +35069,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_273">Description</h6>
+<h6 id="_description_288">Description</h6>
 
 </div>
 <div class="sect5">
@@ -32234,7 +35179,7 @@
 <p>Retrieve Group accounts overview</p>
 </div>
 <div class="sect5">
-<h6 id="_description_274">Description</h6>
+<h6 id="_description_289">Description</h6>
 <div class="paragraph">
 <p>Retrieves details of all Loan and Savings accounts associated with this group.    Example Requests:    groups/1/accounts      groups/1/accounts?fields=loanAccounts,savingsAccounts,memberLoanAccounts,  memberSavingsAccounts</p>
 </div>
@@ -32332,7 +35277,7 @@
 <p>List Groups</p>
 </div>
 <div class="sect5">
-<h6 id="_description_275">Description</h6>
+<h6 id="_description_290">Description</h6>
 <div class="paragraph">
 <p>The default implementation of listing Groups returns 200 entries with support for pagination and sorting. Using the parameter limit with description -1 returns all entries.  Example Requests:    groups    groups?fields=name,officeName,joinedDate    groups?offset=10&amp;limit=50    groups?orderBy=name&amp;sortOrder=DESC</p>
 </div>
@@ -32497,7 +35442,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_276">Description</h6>
+<h6 id="_description_291">Description</h6>
 
 </div>
 <div class="sect5">
@@ -32630,7 +35575,7 @@
 <p>Retrieve a Group</p>
 </div>
 <div class="sect5">
-<h6 id="_description_277">Description</h6>
+<h6 id="_description_292">Description</h6>
 <div class="paragraph">
 <p>Retrieve group information.  Example Requests:    groups/1    groups/1?associations=clientMembers</p>
 </div>
@@ -32765,7 +35710,7 @@
 <p>Retrieve Group Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_278">Description</h6>
+<h6 id="_description_293">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:    Field Defaults  Allowed Value Lists  Example Requests:    groups/template    groups/template?officeId=2    groups/template?centerId=1    groups/template?centerId=1&amp;staffInSelectedOfficeOnly=true</p>
 </div>
@@ -32888,7 +35833,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_279">Description</h6>
+<h6 id="_description_294">Description</h6>
 
 </div>
 <div class="sect5">
@@ -33014,7 +35959,7 @@
 <p>Unassign a Staff</p>
 </div>
 <div class="sect5">
-<h6 id="_description_280">Description</h6>
+<h6 id="_description_295">Description</h6>
 <div class="paragraph">
 <p>Allows you to unassign the Staff.  Mandatory Fields: staffId</p>
 </div>
@@ -33142,7 +36087,7 @@
 <p>Update a Group</p>
 </div>
 <div class="sect5">
-<h6 id="_description_281">Description</h6>
+<h6 id="_description_296">Description</h6>
 <div class="paragraph">
 <p>Updates a Group</p>
 </div>
@@ -33270,7 +36215,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_282">Description</h6>
+<h6 id="_description_297">Description</h6>
 
 </div>
 <div class="sect5">
@@ -33337,7 +36282,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_283">Description</h6>
+<h6 id="_description_298">Description</h6>
 
 </div>
 <div class="sect5">
@@ -33460,7 +36405,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_284">Description</h6>
+<h6 id="_description_299">Description</h6>
 
 </div>
 <div class="sect5">
@@ -33583,7 +36528,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_285">Description</h6>
+<h6 id="_description_300">Description</h6>
 
 </div>
 <div class="sect5">
@@ -33713,7 +36658,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_286">Description</h6>
+<h6 id="_description_301">Description</h6>
 
 </div>
 <div class="sect5">
@@ -33843,7 +36788,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_287">Description</h6>
+<h6 id="_description_302">Description</h6>
 
 </div>
 <div class="sect5">
@@ -33936,7 +36881,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_288">Description</h6>
+<h6 id="_description_303">Description</h6>
 
 </div>
 <div class="sect5">
@@ -34073,7 +37018,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_289">Description</h6>
+<h6 id="_description_304">Description</h6>
 
 </div>
 <div class="sect5">
@@ -34166,7 +37111,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_290">Description</h6>
+<h6 id="_description_305">Description</h6>
 
 </div>
 <div class="sect5">
@@ -34266,7 +37211,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_291">Description</h6>
+<h6 id="_description_306">Description</h6>
 
 </div>
 <div class="sect5">
@@ -34402,7 +37347,7 @@
 <p>Create a Holiday</p>
 </div>
 <div class="sect5">
-<h6 id="_description_292">Description</h6>
+<h6 id="_description_307">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields: name, description, fromDate, toDate, repaymentsRescheduledTo, offices</p>
 </div>
@@ -34500,7 +37445,7 @@
 <p>Delete a Holiday</p>
 </div>
 <div class="sect5">
-<h6 id="_description_293">Description</h6>
+<h6 id="_description_308">Description</h6>
 <div class="paragraph">
 <p>This API allows to delete a holiday. This is a soft delete the deleted holiday status is marked as deleted.</p>
 </div>
@@ -34598,7 +37543,7 @@
 <p>Activate a Holiday</p>
 </div>
 <div class="sect5">
-<h6 id="_description_294">Description</h6>
+<h6 id="_description_309">Description</h6>
 <div class="paragraph">
 <p>Always Holidays are created in pending state. This API allows to activate a holiday.  Only the active holidays are considered for rescheduling the loan repayment.</p>
 </div>
@@ -34756,7 +37701,7 @@
 <p>List Holidays</p>
 </div>
 <div class="sect5">
-<h6 id="_description_295">Description</h6>
+<h6 id="_description_310">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  holidays?officeId=1</p>
 </div>
@@ -34882,7 +37827,7 @@
 <p>Retrieve a Holiday</p>
 </div>
 <div class="sect5">
-<h6 id="_description_296">Description</h6>
+<h6 id="_description_311">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  holidays/1</p>
 </div>
@@ -34977,7 +37922,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_297">Description</h6>
+<h6 id="_description_312">Description</h6>
 
 </div>
 <div class="sect5">
@@ -35044,7 +37989,7 @@
 <p>Update a Holiday</p>
 </div>
 <div class="sect5">
-<h6 id="_description_298">Description</h6>
+<h6 id="_description_313">Description</h6>
 <div class="paragraph">
 <p>If a holiday is in pending state (created and not activated) then all fields are allowed to modify. Once holidays become active only name and descriptions are allowed to modify.</p>
 </div>
@@ -35175,7 +38120,7 @@
 <p>Create a Hook</p>
 </div>
 <div class="sect5">
-<h6 id="_description_299">Description</h6>
+<h6 id="_description_314">Description</h6>
 <div class="paragraph">
 <p>The following parameters can be passed for the creation of a hook :-  name - string - Required. The name of the template that is being called. (See /hooks/template for the list of valid hook names.)  isActive - boolean - Determines whether the hook is actually triggered.  events - array - Determines what events the hook is triggered for.  config - hash - Required. Key/value pairs to provide settings for this hook. These settings vary between the templates.  templateId - Optional. The UGD template ID associated with the same entity (client or loan).</p>
 </div>
@@ -35273,7 +38218,7 @@
 <p>Delete a Hook</p>
 </div>
 <div class="sect5">
-<h6 id="_description_300">Description</h6>
+<h6 id="_description_315">Description</h6>
 <div class="paragraph">
 <p>Deletes a hook.</p>
 </div>
@@ -35371,7 +38316,7 @@
 <p>Retrieve a Hook</p>
 </div>
 <div class="sect5">
-<h6 id="_description_301">Description</h6>
+<h6 id="_description_316">Description</h6>
 <div class="paragraph">
 <p>Returns the details of a Hook.  Example Requests:  hooks/1</p>
 </div>
@@ -35469,7 +38414,7 @@
 <p>Retrieve Hooks</p>
 </div>
 <div class="sect5">
-<h6 id="_description_302">Description</h6>
+<h6 id="_description_317">Description</h6>
 <div class="paragraph">
 <p>Returns the list of hooks.  Example Requests:  hooks</p>
 </div>
@@ -35538,7 +38483,7 @@
 <p>Retrieve Hooks Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_303">Description</h6>
+<h6 id="_description_318">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  hooks/template</p>
 </div>
@@ -35607,7 +38552,7 @@
 <p>Update a Hook</p>
 </div>
 <div class="sect5">
-<h6 id="_description_304">Description</h6>
+<h6 id="_description_319">Description</h6>
 <div class="paragraph">
 <p>Updates the details of a hook.</p>
 </div>
@@ -35738,7 +38683,7 @@
 <p>Calculate Interoperation Quote</p>
 </div>
 <div class="sect5">
-<h6 id="_description_305">Description</h6>
+<h6 id="_description_320">Description</h6>
 
 </div>
 <div class="sect5">
@@ -35834,7 +38779,7 @@
 <p>Allow Interoperation Transaction Request</p>
 </div>
 <div class="sect5">
-<h6 id="_description_306">Description</h6>
+<h6 id="_description_321">Description</h6>
 
 </div>
 <div class="sect5">
@@ -35930,7 +38875,7 @@
 <p>Allow Interoperation Identifier registration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_307">Description</h6>
+<h6 id="_description_322">Description</h6>
 
 </div>
 <div class="sect5">
@@ -36063,7 +39008,7 @@
 <p>Allow Interoperation Identifier registration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_308">Description</h6>
+<h6 id="_description_323">Description</h6>
 
 </div>
 <div class="sect5">
@@ -36203,7 +39148,7 @@
 <p>Disburse Loan by Account Id</p>
 </div>
 <div class="sect5">
-<h6 id="_description_309">Description</h6>
+<h6 id="_description_324">Description</h6>
 
 </div>
 <div class="sect5">
@@ -36299,7 +39244,7 @@
 <p>Query Interoperation Account by secondary identifier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_310">Description</h6>
+<h6 id="_description_325">Description</h6>
 
 </div>
 <div class="sect5">
@@ -36402,7 +39347,7 @@
 <p>Query Interoperation Account by secondary identifier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_311">Description</h6>
+<h6 id="_description_326">Description</h6>
 
 </div>
 <div class="sect5">
@@ -36512,7 +39457,7 @@
 <p>Query Interoperation Account details</p>
 </div>
 <div class="sect5">
-<h6 id="_description_312">Description</h6>
+<h6 id="_description_327">Description</h6>
 
 </div>
 <div class="sect5">
@@ -36608,7 +39553,7 @@
 <p>Query Interoperation secondary identifiers by Account Id</p>
 </div>
 <div class="sect5">
-<h6 id="_description_313">Description</h6>
+<h6 id="_description_328">Description</h6>
 
 </div>
 <div class="sect5">
@@ -36704,7 +39649,7 @@
 <p>Query transactions by Account Id</p>
 </div>
 <div class="sect5">
-<h6 id="_description_314">Description</h6>
+<h6 id="_description_329">Description</h6>
 
 </div>
 <div class="sect5">
@@ -36851,7 +39796,7 @@
 <p>Query KYC by Account Id</p>
 </div>
 <div class="sect5">
-<h6 id="_description_315">Description</h6>
+<h6 id="_description_330">Description</h6>
 
 </div>
 <div class="sect5">
@@ -36947,7 +39892,7 @@
 <p>Query Interoperation Quote</p>
 </div>
 <div class="sect5">
-<h6 id="_description_316">Description</h6>
+<h6 id="_description_331">Description</h6>
 
 </div>
 <div class="sect5">
@@ -37050,7 +39995,7 @@
 <p>Query Interoperation Transaction Request</p>
 </div>
 <div class="sect5">
-<h6 id="_description_317">Description</h6>
+<h6 id="_description_332">Description</h6>
 
 </div>
 <div class="sect5">
@@ -37153,7 +40098,7 @@
 <p>Query Interoperation Transfer</p>
 </div>
 <div class="sect5">
-<h6 id="_description_318">Description</h6>
+<h6 id="_description_333">Description</h6>
 
 </div>
 <div class="sect5">
@@ -37256,7 +40201,7 @@
 <p>Query Interoperation Health Request</p>
 </div>
 <div class="sect5">
-<h6 id="_description_319">Description</h6>
+<h6 id="_description_334">Description</h6>
 
 </div>
 <div class="sect5">
@@ -37313,7 +40258,7 @@
 <p>Prepare Interoperation Transfer</p>
 </div>
 <div class="sect5">
-<h6 id="_description_320">Description</h6>
+<h6 id="_description_335">Description</h6>
 
 </div>
 <div class="sect5">
@@ -37439,7 +40384,7 @@
 <p>Interoperation Identifier registration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_321">Description</h6>
+<h6 id="_description_336">Description</h6>
 
 </div>
 <div class="sect5">
@@ -37572,7 +40517,7 @@
 <p>Interoperation Identifier registration</p>
 </div>
 <div class="sect5">
-<h6 id="_description_322">Description</h6>
+<h6 id="_description_337">Description</h6>
 
 </div>
 <div class="sect5">
@@ -37715,7 +40660,7 @@
 <p>Create a Chart</p>
 </div>
 <div class="sect5">
-<h6 id="_description_323">Description</h6>
+<h6 id="_description_338">Description</h6>
 <div class="paragraph">
 <p>Creates a new chart which can be attached to a term deposit products (FD or RD).</p>
 </div>
@@ -37813,7 +40758,7 @@
 <p>Delete a Chart</p>
 </div>
 <div class="sect5">
-<h6 id="_description_324">Description</h6>
+<h6 id="_description_339">Description</h6>
 <div class="paragraph">
 <p>It deletes the chart</p>
 </div>
@@ -37911,7 +40856,7 @@
 <p>Retrieve all Charts</p>
 </div>
 <div class="sect5">
-<h6 id="_description_325">Description</h6>
+<h6 id="_description_340">Description</h6>
 <div class="paragraph">
 <p>Retrieve list of charts associated with a term deposit product(FD or RD). Example Requests:  interestratecharts?productId=1</p>
 </div>
@@ -38009,7 +40954,7 @@
 <p>Retrieve a Chart</p>
 </div>
 <div class="sect5">
-<h6 id="_description_326">Description</h6>
+<h6 id="_description_341">Description</h6>
 <div class="paragraph">
 <p>It retrieves the Interest Rate Chart Example Requests:  interestratecharts/1</p>
 </div>
@@ -38107,7 +41052,7 @@
 <p>Retrieve Chart Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_327">Description</h6>
+<h6 id="_description_342">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for creating a chart. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists Example Request:  interestratecharts/template</p>
 </div>
@@ -38176,7 +41121,7 @@
 <p>Update a Chart</p>
 </div>
 <div class="sect5">
-<h6 id="_description_328">Description</h6>
+<h6 id="_description_343">Description</h6>
 <div class="paragraph">
 <p>It updates the chart</p>
 </div>
@@ -38307,7 +41252,7 @@
 <p>Create a Slab</p>
 </div>
 <div class="sect5">
-<h6 id="_description_329">Description</h6>
+<h6 id="_description_344">Description</h6>
 <div class="paragraph">
 <p>Creates a new interest rate slab for an interest rate chart. Mandatory Fields periodType, fromPeriod, annualInterestRate Optional Fields toPeriod and description Example Requests:  interestratecharts/1/chartslabs</p>
 </div>
@@ -38435,7 +41380,7 @@
 <p>Delete a Slab</p>
 </div>
 <div class="sect5">
-<h6 id="_description_330">Description</h6>
+<h6 id="_description_345">Description</h6>
 <div class="paragraph">
 <p>Delete a Slab from a chart</p>
 </div>
@@ -38540,7 +41485,7 @@
 <p>Retrieve all Slabs</p>
 </div>
 <div class="sect5">
-<h6 id="_description_331">Description</h6>
+<h6 id="_description_346">Description</h6>
 <div class="paragraph">
 <p>Retrieve list of slabs associated with a chart  Example Requests:  interestratecharts/1/chartslabs</p>
 </div>
@@ -38638,7 +41583,7 @@
 <p>Retrieve a Slab</p>
 </div>
 <div class="sect5">
-<h6 id="_description_332">Description</h6>
+<h6 id="_description_347">Description</h6>
 <div class="paragraph">
 <p>Retrieve a slab associated with an Interest rate chart  Example Requests:  interestratecharts/1/chartslabs/1</p>
 </div>
@@ -38740,7 +41685,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_333">Description</h6>
+<h6 id="_description_348">Description</h6>
 
 </div>
 <div class="sect5">
@@ -38836,7 +41781,7 @@
 <p>Update a Slab</p>
 </div>
 <div class="sect5">
-<h6 id="_description_334">Description</h6>
+<h6 id="_description_349">Description</h6>
 <div class="paragraph">
 <p>It updates the Slab from chart</p>
 </div>
@@ -38974,7 +41919,7 @@
 <p>Create \"Balanced\" Journal Entries</p>
 </div>
 <div class="sect5">
-<h6 id="_description_335">Description</h6>
+<h6 id="_description_350">Description</h6>
 <div class="paragraph">
 <p>Note: A Balanced (simple) Journal entry would have atleast one \"Debit\" and one \"Credit\" entry whose amounts are equal  Compound Journal entries may have \"n\" debits and \"m\" credits where both \"m\" and \"n\" are greater than 0 and the net sum or all debits and credits are equal    Mandatory Fields officeId, transactionDate   credits- glAccountId, amount, comments    debits-  glAccountId, amount, comments    Optional Fields paymentTypeId, accountNumber, checkNumber, routingCode, receiptNumber, bankNumber</p>
 </div>
@@ -39102,7 +42047,7 @@
 <p>Update Running balances for Journal Entries</p>
 </div>
 <div class="sect5">
-<h6 id="_description_336">Description</h6>
+<h6 id="_description_351">Description</h6>
 <div class="paragraph">
 <p>This API calculates the running balances for office. If office ID not provided this API calculates running balances for all offices.  Mandatory Fields officeId</p>
 </div>
@@ -39257,7 +42202,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_337">Description</h6>
+<h6 id="_description_352">Description</h6>
 
 </div>
 <div class="sect5">
@@ -39357,7 +42302,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_338">Description</h6>
+<h6 id="_description_353">Description</h6>
 
 </div>
 <div class="sect5">
@@ -39467,7 +42412,7 @@
 <p>Retrieve a single Entry</p>
 </div>
 <div class="sect5">
-<h6 id="_description_339">Description</h6>
+<h6 id="_description_354">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  journalentries/1    journalentries/1?fields=officeName,glAccountId,entryType,amount  journalentries/1?runningBalance=true  journalentries/1?transactionDetails=true</p>
 </div>
@@ -39602,7 +42547,7 @@
 <p>List Journal Entries</p>
 </div>
 <div class="sect5">
-<h6 id="_description_340">Description</h6>
+<h6 id="_description_355">Description</h6>
 <div class="paragraph">
 <p>The list capability of journal entries can support pagination and sorting.  Example Requests:  journalentries  journalentries?transactionId=PB37X8Y21EQUY4S  journalentries?officeId=1&amp;manualEntriesOnly=true&amp;fromDate=1 July 2013&amp;toDate=15 July 2013&amp;dateFormat=dd MMMM yyyy&amp;locale=en  journalentries?fields=officeName,glAccountName,transactionDate  journalentries?offset=10&amp;limit=50  journalentries?orderBy=transactionId&amp;sortOrder=DESC  journalentries?runningBalance=true  journalentries?transactionDetails=true  journalentries?loanId=12  journalentries?savingsId=24</p>
 </div>
@@ -39809,7 +42754,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_341">Description</h6>
+<h6 id="_description_356">Description</h6>
 
 </div>
 <div class="sect5">
@@ -39916,7 +42861,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_342">Description</h6>
+<h6 id="_description_357">Description</h6>
 
 </div>
 <div class="sect5">
@@ -40019,7 +42964,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_343">Description</h6>
+<h6 id="_description_358">Description</h6>
 
 </div>
 <div class="sect5">
@@ -40119,7 +43064,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_344">Description</h6>
+<h6 id="_description_359">Description</h6>
 
 </div>
 <div class="sect5">
@@ -40212,7 +43157,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_345">Description</h6>
+<h6 id="_description_360">Description</h6>
 
 </div>
 <div class="sect5">
@@ -40348,7 +43293,7 @@
 <p>List Report Mailing Job History</p>
 </div>
 <div class="sect5">
-<h6 id="_description_346">Description</h6>
+<h6 id="_description_361">Description</h6>
 <div class="paragraph">
 <p>The list capability of report mailing job history can support pagination and sorting.  Example Requests:  reportmailingjobrunhistory/1</p>
 </div>
@@ -40477,7 +43422,7 @@
 <p>Delete a Loan Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_347">Description</h6>
+<h6 id="_description_362">Description</h6>
 <div class="paragraph">
 <p>Note: Currently, A Loan Charge may only be removed from Loans that are not yet approved.</p>
 </div>
@@ -40582,7 +43527,7 @@
 <p>Create a Loan Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_348">Description</h6>
+<h6 id="_description_363">Description</h6>
 <div class="paragraph">
 <p>It Creates a Loan Charge</p>
 </div>
@@ -40740,7 +43685,7 @@
 <p>Pay Loan Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_349">Description</h6>
+<h6 id="_description_364">Description</h6>
 <div class="paragraph">
 <p>Loan Charge will be paid if the loan is linked with a savings account</p>
 </div>
@@ -40905,7 +43850,7 @@
 <p>List Loan Charges</p>
 </div>
 <div class="sect5">
-<h6 id="_description_350">Description</h6>
+<h6 id="_description_365">Description</h6>
 <div class="paragraph">
 <p>It lists all the Loan Charges specific to a Loan   Example Requests:  loans/1/charges   loans/1/charges?fields=name,amountOrPercentage</p>
 </div>
@@ -41003,7 +43948,7 @@
 <p>Retrieve a Loan Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_351">Description</h6>
+<h6 id="_description_366">Description</h6>
 <div class="paragraph">
 <p>Retrieves Loan Charge according to the Loan ID and Charge IDExample Requests:  /loans/1/charges/1   /loans/1/charges/1?fields=name,amountOrPercentage</p>
 </div>
@@ -41108,7 +44053,7 @@
 <p>Retrieve Loan Charges Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_352">Description</h6>
+<h6 id="_description_367">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  loans/1/charges/template</p>
 </div>
@@ -41206,7 +44151,7 @@
 <p>Update a Loan Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_353">Description</h6>
+<h6 id="_description_368">Description</h6>
 <div class="paragraph">
 <p>Currently Loan Charges may be updated only if the Loan is not yet approved</p>
 </div>
@@ -41344,7 +44289,7 @@
 <p>Create a Collateral</p>
 </div>
 <div class="sect5">
-<h6 id="_description_354">Description</h6>
+<h6 id="_description_369">Description</h6>
 <div class="paragraph">
 <p>Note: Currently, Collaterals may be added only before a Loan is approved</p>
 </div>
@@ -41472,7 +44417,7 @@
 <p>Remove a Collateral</p>
 </div>
 <div class="sect5">
-<h6 id="_description_355">Description</h6>
+<h6 id="_description_370">Description</h6>
 <div class="paragraph">
 <p>Note: A collateral can only be removed from Loans that are not yet approved.</p>
 </div>
@@ -41577,7 +44522,7 @@
 <p>Retrieve Collateral Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_356">Description</h6>
+<h6 id="_description_371">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists Example Request:  loans/1/collaterals/template</p>
 </div>
@@ -41675,7 +44620,7 @@
 <p>List Loan Collaterals</p>
 </div>
 <div class="sect5">
-<h6 id="_description_357">Description</h6>
+<h6 id="_description_372">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  loans/1/collaterals   loans/1/collaterals?fields=value,description</p>
 </div>
@@ -41773,7 +44718,7 @@
 <p>Retrieve a Collateral</p>
 </div>
 <div class="sect5">
-<h6 id="_description_358">Description</h6>
+<h6 id="_description_373">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  /loans/1/collaterals/1   /loans/1/collaterals/1?fields=description,description</p>
 </div>
@@ -41878,7 +44823,7 @@
 <p>Update a Collateral</p>
 </div>
 <div class="sect5">
-<h6 id="_description_359">Description</h6>
+<h6 id="_description_374">Description</h6>
 
 </div>
 <div class="sect5">
@@ -42014,7 +44959,7 @@
 <p>Delete Loan Collateral</p>
 </div>
 <div class="sect5">
-<h6 id="_description_360">Description</h6>
+<h6 id="_description_375">Description</h6>
 <div class="paragraph">
 <p>Delete Loan Collateral</p>
 </div>
@@ -42119,7 +45064,7 @@
 <p>Get Loan Collateral Details</p>
 </div>
 <div class="sect5">
-<h6 id="_description_361">Description</h6>
+<h6 id="_description_376">Description</h6>
 <div class="paragraph">
 <p>Get Loan Collateral Details</p>
 </div>
@@ -42217,7 +45162,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_362">Description</h6>
+<h6 id="_description_377">Description</h6>
 
 </div>
 <div class="sect5">
@@ -42340,7 +45285,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_363">Description</h6>
+<h6 id="_description_378">Description</h6>
 
 </div>
 <div class="sect5">
@@ -42440,7 +45385,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_364">Description</h6>
+<h6 id="_description_379">Description</h6>
 
 </div>
 <div class="sect5">
@@ -42576,7 +45521,7 @@
 <p>Create a Loan Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_365">Description</h6>
+<h6 id="_description_380">Description</h6>
 <div class="paragraph">
 <p>Depending of the Accounting Rule (accountingRule) selected, additional fields with details of the appropriate Ledger Account identifiers would need to be passed in.  Refer MifosX Accounting Specs Draft for more details regarding the significance of the selected accounting rule  Mandatory Fields: name, shortName, currencyCode, digitsAfterDecimal, inMultiplesOf, principal, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, interestRateFrequencyType, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, accountingRule, isInterestRecalculationEnabled, daysInYearType, daysInMonthType  Optional Fields: inArrearsTolerance, graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, graceOnArrearsAgeing, charges, paymentChannelToFundSourceMappings, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, includeInBorrowerCycle, useBorrowerCycle,principalVariationsForBorrowerCycle, numberOfRepaymentVariationsForBorrowerCycle, interestRateVariationsForBorrowerCycle, multiDisburseLoan,maxTrancheCount, outstandingLoanBalance,overdueDaysForNPA,holdGuaranteeFunds, principalThresholdForLastInstalment, accountMovesOutOfNPAOnlyOnArrearsCompletion, canDefineInstallmentAmount, installmentAmountInMultiplesOf, allowAttributeOverrides, allowPartialPeriodInterestCalcualtion  Additional Mandatory Fields for Cash(2) based accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId  Additional Mandatory Fields for periodic (3) and upfront (4)accrual accounting: fundSourceAccountId, loanPortfolioAccountId, interestOnLoanAccountId, incomeFromFeeAccountId, incomeFromPenaltyAccountId, writeOffAccountId, receivableInterestAccountId, receivableFeeAccountId, receivablePenaltyAccountId, transfersInSuspenseAccountId, overpaymentLiabilityAccountId  Additional Mandatory Fields if interest recalculation is enabled(true): interestRecalculationCompoundingMethod, rescheduleStrategyMethod, recalculationRestFrequencyType  Additional Optional Fields if interest recalculation is enabled(true): isArrearsBasedOnOriginalSchedule, preClosureInterestCalculationStrategy  Additional Optional Fields if interest recalculation is enabled(true) and recalculationRestFrequencyType is not same as repayment period: recalculationRestFrequencyInterval, recalculationRestFrequencyDate  Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled: recalculationCompoundingFrequencyType  Additional Optional Fields if interest recalculation is enabled(true) and interestRecalculationCompoundingMethod is enabled and recalculationCompoundingFrequencyType is not same as repayment period: recalculationCompoundingFrequencyInterval, recalculationCompoundingFrequencyDate  Additional Mandatory Fields if Hold Guarantee funds is enabled(true): mandatoryGuarantee  Additional Optional Fields if Hold Guarantee funds is enabled(true): minimumGuaranteeFromOwnFunds,minimumGuaranteeFromGuarantor</p>
 </div>
@@ -42674,7 +45619,7 @@
 <p>List Loan Products</p>
 </div>
 <div class="sect5">
-<h6 id="_description_366">Description</h6>
+<h6 id="_description_381">Description</h6>
 <div class="paragraph">
 <p>Lists Loan Products  Example Requests:  loanproducts   loanproducts?fields=name,description,interestRateFrequencyType,amortizationType</p>
 </div>
@@ -42743,7 +45688,7 @@
 <p>Retrieve a Loan Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_367">Description</h6>
+<h6 id="_description_382">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Loan Product  Example Requests:  loanproducts/1   loanproducts/1?template=true   loanproducts/1?fields=name,description,numberOfRepayments</p>
 </div>
@@ -42841,7 +45786,7 @@
 <p>Retrieve Loan Product Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_368">Description</h6>
+<h6 id="_description_383">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  loanproducts/template</p>
 </div>
@@ -42939,7 +45884,7 @@
 <p>Update a Loan Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_369">Description</h6>
+<h6 id="_description_384">Description</h6>
 <div class="paragraph">
 <p>Updates a Loan Product</p>
 </div>
@@ -43070,7 +46015,7 @@
 <p>Calculate loan repayment schedule based on Loan term variations | Updates loan repayment schedule based on Loan term variations | Updates loan repayment schedule by removing Loan term variations</p>
 </div>
 <div class="sect5">
-<h6 id="_description_370">Description</h6>
+<h6 id="_description_385">Description</h6>
 <div class="paragraph">
 <p>Calculate loan repayment schedule based on Loan term variations:  Mandatory Fields: exceptions,locale,dateFormat  Updates loan repayment schedule based on Loan term variations:  Mandatory Fields: exceptions,locale,dateFormat  Updates loan repayment schedule by removing Loan term variations:  It updates the loan repayment schedule by removing Loan term variations  Showing request/response for 'Updates loan repayment schedule by removing Loan term variations'</p>
 </div>
@@ -43231,7 +46176,7 @@
 <p>Adjust a Transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_371">Description</h6>
+<h6 id="_description_386">Description</h6>
 <div class="paragraph">
 <p>Note: there is no need to specify command={transactionType} parameter.  Mandatory Fields: transactionDate, transactionAmount</p>
 </div>
@@ -43366,7 +46311,7 @@
 <p>Significant Loan Transactions</p>
 </div>
 <div class="sect5">
-<h6 id="_description_372">Description</h6>
+<h6 id="_description_387">Description</h6>
 <div class="paragraph">
 <p>This API covers the major loan transaction functionality  Example Requests:  loans/1/transactions?command=repayment | Make a Repayment |  loans/1/transactions?command=merchantIssuedRefund | Merchant Issued Refund |  loans/1/transactions?command=payoutRefund | Payout Refund |  loans/1/transactions?command=goodwillCredit | Goodwil Credit |  loans/1/transactions?command=waiveinterest | Waive Interest |  loans/1/transactions?command=writeoff | Write-off Loan |  loans/1/transactions?command=close-rescheduled | Close Rescheduled Loan |  loans/1/transactions?command=close | Close Loan |  loans/1/transactions?command=undowriteoff | Undo Loan Write-off |  loans/1/transactions?command=recoverypayment | Make Recovery Payment |  loans/1/transactions?command=refundByCash | Make a Refund of an Active Loan by Cash |  loans/1/transactions?command=foreclosure | Foreclosure of an Active Loan |  loans/1/transactions?command=creditBalanceRefund | Credit Balance Refund |</p>
 </div>
@@ -43524,7 +46469,7 @@
 <p>Retrieve a Transaction Details</p>
 </div>
 <div class="sect5">
-<h6 id="_description_373">Description</h6>
+<h6 id="_description_388">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Transaction Details  Example Request:  loans/5/transactions/3</p>
 </div>
@@ -43629,7 +46574,7 @@
 <p>Retrieve Loan Transaction Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_374">Description</h6>
+<h6 id="_description_389">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists  Example Requests:  loans/1/transactions/template?command=repaymentloans/1/transactions/template?command=merchantIssuedRefundloans/1/transactions/template?command=payoutRefundloans/1/transactions/template?command=goodwillCredit loans/1/transactions/template?command=waiveinterest loans/1/transactions/template?command=writeoff loans/1/transactions/template?command=close-rescheduled loans/1/transactions/template?command=close loans/1/transactions/template?command=disburse loans/1/transactions/template?command=disburseToSavings loans/1/transactions/template?command=recoverypayment loans/1/transactions/template?command=prepayLoan loans/1/transactions/template?command=refundbycash loans/1/transactions/template?command=refundbytransfer loans/1/transactions/template?command=foreclosure loans/1/transactions/template?command=creditBalanceRefund (returned 'amount' field will have the overpaid value</p>
 </div>
@@ -43778,7 +46723,7 @@
 <p>Undo a Waive Charge Transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_375">Description</h6>
+<h6 id="_description_390">Description</h6>
 <div class="paragraph">
 <p>Undo a Waive Charge Transaction</p>
 </div>
@@ -43916,7 +46861,7 @@
 <p>Calculate loan repayment schedule | Submit a new Loan Application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_376">Description</h6>
+<h6 id="_description_391">Description</h6>
 <div class="paragraph">
 <p>It calculates the loan repayment Schedule Submits a new loan application Mandatory Fields: clientId, productId, principal, loanTermFrequency, loanTermFrequencyType, loanType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, expectedDisbursementDate, submittedOnDate, loanType Optional Fields: graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, linkAccountId, allowPartialPeriodInterestCalcualtion, fixedEmiAmount, maxOutstandingLoanBalance, disbursementData, graceOnArrearsAgeing, createStandingInstructionAtDisbursement (requires linkedAccountId if set to true) Additional Mandatory Fields if interest recalculation is enabled for product and Rest frequency not same as repayment period: recalculationRestFrequencyDate Additional Mandatory Fields if interest recalculation with interest/fee compounding is enabled for product and compounding frequency not same as repayment period: recalculationCompoundingFrequencyDate Additional Mandatory Field if Entity-Datatable Check is enabled for the entity of type loan: datatables</p>
 </div>
@@ -44044,7 +46989,7 @@
 <p>Delete a Loan Application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_377">Description</h6>
+<h6 id="_description_392">Description</h6>
 <div class="paragraph">
 <p>Note: Only loans in \"Submitted and awaiting approval\" status can be deleted.</p>
 </div>
@@ -44139,7 +47084,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_378">Description</h6>
+<h6 id="_description_393">Description</h6>
 
 </div>
 <div class="sect5">
@@ -44232,7 +47177,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_379">Description</h6>
+<h6 id="_description_394">Description</h6>
 
 </div>
 <div class="sect5">
@@ -44332,7 +47277,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_380">Description</h6>
+<h6 id="_description_395">Description</h6>
 
 </div>
 <div class="sect5">
@@ -44442,7 +47387,7 @@
 <p>Approve GLIM Application | Undo GLIM Application Approval | Reject GLIM Application | Disburse Loan Disburse Loan To Savings Account | Undo Loan Disbursal</p>
 </div>
 <div class="sect5">
-<h6 id="_description_381">Description</h6>
+<h6 id="_description_396">Description</h6>
 <div class="paragraph">
 <p>Approve GLIM Application: Mandatory Fields: approvedOnDate Optional Fields: approvedLoanAmount and expectedDisbursementDate Approves the GLIM application  Undo GLIM Application Approval: Undoes the GLIM Application Approval  Reject GLIM Application: Mandatory Fields: rejectedOnDate Allows you to reject the GLIM application  Disburse Loan: Mandatory Fields: actualDisbursementDate Optional Fields: transactionAmount and fixedEmiAmount Disburses the Loan  Disburse Loan To Savings Account: Mandatory Fields: actualDisbursementDate Optional Fields: transactionAmount and fixedEmiAmount Disburses the loan to Saving Account  Undo Loan Disbursal: Undoes the Loan Disbursal</p>
 </div>
@@ -44600,7 +47545,7 @@
 <p>Modify a loan application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_382">Description</h6>
+<h6 id="_description_397">Description</h6>
 <div class="paragraph">
 <p>Loan application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method.</p>
 </div>
@@ -44725,7 +47670,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_383">Description</h6>
+<h6 id="_description_398">Description</h6>
 
 </div>
 <div class="sect5">
@@ -44832,7 +47777,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_384">Description</h6>
+<h6 id="_description_399">Description</h6>
 
 </div>
 <div class="sect5">
@@ -44942,7 +47887,7 @@
 <p>List Loans</p>
 </div>
 <div class="sect5">
-<h6 id="_description_385">Description</h6>
+<h6 id="_description_400">Description</h6>
 <div class="paragraph">
 <p>The list capability of loans can support pagination and sorting. Example Requests:  loans  loans?fields=accountNo  loans?offset=10&amp;limit=50  loans?orderBy=accountNo&amp;sortOrder=DESC</p>
 </div>
@@ -45079,7 +48024,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_386">Description</h6>
+<h6 id="_description_401">Description</h6>
 
 </div>
 <div class="sect5">
@@ -45205,7 +48150,7 @@
 <p>Retrieve a Loan</p>
 </div>
 <div class="sect5">
-<h6 id="_description_387">Description</h6>
+<h6 id="_description_402">Description</h6>
 <div class="paragraph">
 <p>Note: template=true parameter doesn&#8217;t apply to this resource.Example Requests:  loans/1   loans/1?fields=id,principal,annualInterestRate   loans/1?associations=all  loans/1?associations=all&amp;exclude=guarantors   loans/1?fields=id,principal,annualInterestRate&amp;associations=repaymentSchedule,transactions</p>
 </div>
@@ -45333,7 +48278,7 @@
 <p>Approve Loan Application | Recover Loan Guarantee | Undo Loan Application Approval | Assign a Loan Officer | Unassign a Loan Officer | Reject Loan Application | Applicant Withdraws from Loan Application | Disburse Loan Disburse Loan To Savings Account | Undo Loan Disbursal</p>
 </div>
 <div class="sect5">
-<h6 id="_description_388">Description</h6>
+<h6 id="_description_403">Description</h6>
 <div class="paragraph">
 <p>Approve Loan Application: Mandatory Fields: approvedOnDate Optional Fields: approvedLoanAmount and expectedDisbursementDate Approves the loan application  Recover Loan Guarantee: Recovers the loan guarantee  Undo Loan Application Approval: Undoes the Loan Application Approval  Assign a Loan Officer: Allows you to assign Loan Officer for existing Loan.  Unassign a Loan Officer: Allows you to unassign the Loan Officer.  Reject Loan Application: Mandatory Fields: rejectedOnDate Allows you to reject the loan application  Applicant Withdraws from Loan Application: Mandatory Fields: withdrawnOnDate Allows the applicant to withdraw the loan application  Disburse Loan: Mandatory Fields: actualDisbursementDate Optional Fields: transactionAmount and fixedEmiAmount Disburses the Loan  Disburse Loan To Savings Account: Mandatory Fields: actualDisbursementDate Optional Fields: transactionAmount and fixedEmiAmount Disburses the loan to Saving Account  Undo Loan Disbursal: Undoes the Loan Disbursal Showing request and response for Assign a Loan Officer</p>
 </div>
@@ -45491,7 +48436,7 @@
 <p>Retrieve Loan Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_389">Description</h6>
+<h6 id="_description_404">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Requests:  loans/template?templateType=individual&amp;clientId=1   loans/template?templateType=individual&amp;clientId=1&amp;productId=1</p>
 </div>
@@ -45627,7 +48572,7 @@
 <p>Run a Job</p>
 </div>
 <div class="sect5">
-<h6 id="_description_390">Description</h6>
+<h6 id="_description_405">Description</h6>
 <div class="paragraph">
 <p>Manually Execute Specific Job.</p>
 </div>
@@ -45745,7 +48690,7 @@
 <p>Retrieve Scheduler Jobs</p>
 </div>
 <div class="sect5">
-<h6 id="_description_391">Description</h6>
+<h6 id="_description_406">Description</h6>
 <div class="paragraph">
 <p>Returns the list of jobs.  Example Requests:  jobs</p>
 </div>
@@ -45814,7 +48759,7 @@
 <p>Retrieve Job Run History</p>
 </div>
 <div class="sect5">
-<h6 id="_description_392">Description</h6>
+<h6 id="_description_407">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  jobs/5/runhistory?offset=0&amp;limit=200</p>
 </div>
@@ -45963,7 +48908,7 @@
 <p>Retrieve a Job</p>
 </div>
 <div class="sect5">
-<h6 id="_description_393">Description</h6>
+<h6 id="_description_408">Description</h6>
 <div class="paragraph">
 <p>Returns the details of a Job.  Example Requests:  jobs/5</p>
 </div>
@@ -46061,7 +49006,7 @@
 <p>Update a Job</p>
 </div>
 <div class="sect5">
-<h6 id="_description_394">Description</h6>
+<h6 id="_description_409">Description</h6>
 <div class="paragraph">
 <p>Updates the details of a job.</p>
 </div>
@@ -46182,7 +49127,7 @@
 <p>Approve Maker Checker Entry | Reject Maker Checker Entry</p>
 </div>
 <div class="sect5">
-<h6 id="_description_395">Description</h6>
+<h6 id="_description_410">Description</h6>
 
 </div>
 <div class="sect5">
@@ -46308,7 +49253,7 @@
 <p>Delete Maker Checker Entry</p>
 </div>
 <div class="sect5">
-<h6 id="_description_396">Description</h6>
+<h6 id="_description_411">Description</h6>
 
 </div>
 <div class="sect5">
@@ -46404,7 +49349,7 @@
 <p>Maker Checker Search Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_397">Description</h6>
+<h6 id="_description_412">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building a Checker Inbox UI. \"appUsers\" are data scoped to the office/branch the requestor is associated with. \"actionNames\" and \"entityNames\" returned are those that the requestor has Checker approval permissions for.  Example Requests:  makercheckers/searchtemplate makercheckers/searchtemplate?fields=entityNames</p>
 </div>
@@ -46473,7 +49418,7 @@
 <p>List Maker Checker Entries</p>
 </div>
 <div class="sect5">
-<h6 id="_description_398">Description</h6>
+<h6 id="_description_413">Description</h6>
 <div class="paragraph">
 <p>Get a list of entries that can be checked by the requestor that match the criteria supplied.  Example Requests:  makercheckers  makercheckers?fields=madeOnDate,maker,processingResult  makercheckers?makerDateTimeFrom=2013-03-25 08:00:00&amp;makerDateTimeTo=2013-04-04 18:00:00  makercheckers?officeId=1  makercheckers?officeId=1&amp;includeJson=true</p>
 </div>
@@ -46644,7 +49589,7 @@
 <p>Create a new Financial Activity to Accounts Mapping</p>
 </div>
 <div class="sect5">
-<h6 id="_description_399">Description</h6>
+<h6 id="_description_414">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields financialActivityId, glAccountId</p>
 </div>
@@ -46742,7 +49687,7 @@
 <p>Delete a Financial Activity to Account Mapping</p>
 </div>
 <div class="sect5">
-<h6 id="_description_400">Description</h6>
+<h6 id="_description_415">Description</h6>
 
 </div>
 <div class="sect5">
@@ -46838,7 +49783,7 @@
 <p>Retrieve a Financial Activity to Account Mapping</p>
 </div>
 <div class="sect5">
-<h6 id="_description_401">Description</h6>
+<h6 id="_description_416">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  financialactivityaccounts/1</p>
 </div>
@@ -46936,7 +49881,7 @@
 <p>List Financial Activities to Accounts Mappings</p>
 </div>
 <div class="sect5">
-<h6 id="_description_402">Description</h6>
+<h6 id="_description_417">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  financialactivityaccounts</p>
 </div>
@@ -47002,7 +49947,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_403">Description</h6>
+<h6 id="_description_418">Description</h6>
 
 </div>
 <div class="sect5">
@@ -47069,7 +50014,7 @@
 <p>Update a Financial Activity to Account Mapping</p>
 </div>
 <div class="sect5">
-<h6 id="_description_404">Description</h6>
+<h6 id="_description_419">Description</h6>
 <div class="paragraph">
 <p>the API updates the Ledger account linked to a Financial Activity</p>
 </div>
@@ -47197,7 +50142,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_405">Description</h6>
+<h6 id="_description_420">Description</h6>
 
 </div>
 <div class="sect5">
@@ -47327,7 +50272,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_406">Description</h6>
+<h6 id="_description_421">Description</h6>
 
 </div>
 <div class="sect5">
@@ -47434,7 +50379,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_407">Description</h6>
+<h6 id="_description_422">Description</h6>
 
 </div>
 <div class="sect5">
@@ -47601,7 +50546,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_408">Description</h6>
+<h6 id="_description_423">Description</h6>
 
 </div>
 <div class="sect5">
@@ -47708,7 +50653,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_409">Description</h6>
+<h6 id="_description_424">Description</h6>
 
 </div>
 <div class="sect5">
@@ -47838,7 +50783,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_410">Description</h6>
+<h6 id="_description_425">Description</h6>
 
 </div>
 <div class="sect5">
@@ -47968,7 +50913,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_411">Description</h6>
+<h6 id="_description_426">Description</h6>
 
 </div>
 <div class="sect5">
@@ -48108,7 +51053,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_412">Description</h6>
+<h6 id="_description_427">Description</h6>
 
 </div>
 <div class="sect5">
@@ -48172,7 +51117,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_413">Description</h6>
+<h6 id="_description_428">Description</h6>
 
 </div>
 <div class="sect5">
@@ -48268,7 +51213,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_414">Description</h6>
+<h6 id="_description_429">Description</h6>
 
 </div>
 <div class="sect5">
@@ -48378,7 +51323,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_415">Description</h6>
+<h6 id="_description_430">Description</h6>
 
 </div>
 <div class="sect5">
@@ -48448,7 +51393,7 @@
 <p>Add a Resource Note</p>
 </div>
 <div class="sect5">
-<h6 id="_description_416">Description</h6>
+<h6 id="_description_431">Description</h6>
 <div class="paragraph">
 <p>Adds a new note to a supported resource.  Example Requests:  clients/1/notes   groups/1/notes</p>
 </div>
@@ -48583,7 +51528,7 @@
 <p>Delete a Resource Note</p>
 </div>
 <div class="sect5">
-<h6 id="_description_417">Description</h6>
+<h6 id="_description_432">Description</h6>
 <div class="paragraph">
 <p>Deletes a Resource Note</p>
 </div>
@@ -48695,7 +51640,7 @@
 <p>Retrieve a Resource Note</p>
 </div>
 <div class="sect5">
-<h6 id="_description_418">Description</h6>
+<h6 id="_description_433">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Resource Note  Example Requests:  clients/1/notes/76   groups/1/notes/20   clients/1/notes/76?fields=note,createdOn,createdByUsername   groups/1/notes/20?fields=note,createdOn,createdByUsername</p>
 </div>
@@ -48807,7 +51752,7 @@
 <p>Retrieve a Resource&#8217;s description</p>
 </div>
 <div class="sect5">
-<h6 id="_description_419">Description</h6>
+<h6 id="_description_434">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Resource&#8217;s Notes  Note: Notes are returned in descending createOn order.  Example Requests:  clients/2/notes   groups/2/notes?fields=note,createdOn,createdByUsername</p>
 </div>
@@ -48912,7 +51857,7 @@
 <p>Update a Resource Note</p>
 </div>
 <div class="sect5">
-<h6 id="_description_420">Description</h6>
+<h6 id="_description_435">Description</h6>
 <div class="paragraph">
 <p>Updates a Resource Note</p>
 </div>
@@ -49054,7 +51999,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_421">Description</h6>
+<h6 id="_description_436">Description</h6>
 
 </div>
 <div class="sect5">
@@ -49175,7 +52120,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_422">Description</h6>
+<h6 id="_description_437">Description</h6>
 
 </div>
 <div class="sect5">
@@ -49245,7 +52190,7 @@
 <p>Create an Office</p>
 </div>
 <div class="sect5">
-<h6 id="_description_423">Description</h6>
+<h6 id="_description_438">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields name, openingDate, parentId</p>
 </div>
@@ -49340,7 +52285,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_424">Description</h6>
+<h6 id="_description_439">Description</h6>
 
 </div>
 <div class="sect5">
@@ -49433,7 +52378,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_425">Description</h6>
+<h6 id="_description_440">Description</h6>
 
 </div>
 <div class="sect5">
@@ -49543,7 +52488,7 @@
 <p>Retrieve an Office</p>
 </div>
 <div class="sect5">
-<h6 id="_description_426">Description</h6>
+<h6 id="_description_441">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  offices/1   offices/1?template=true   offices/1?fields=id,name,parentName</p>
 </div>
@@ -49641,7 +52586,7 @@
 <p>Retrieve Office Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_427">Description</h6>
+<h6 id="_description_442">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  offices/template</p>
 </div>
@@ -49710,7 +52655,7 @@
 <p>List Offices</p>
 </div>
 <div class="sect5">
-<h6 id="_description_428">Description</h6>
+<h6 id="_description_443">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  offices   offices?fields=id,name,openingDate</p>
 </div>
@@ -49822,7 +52767,7 @@
 <p>Update Office</p>
 </div>
 <div class="sect5">
-<h6 id="_description_429">Description</h6>
+<h6 id="_description_444">Description</h6>
 
 </div>
 <div class="sect5">
@@ -49948,7 +52893,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_430">Description</h6>
+<h6 id="_description_445">Description</h6>
 
 </div>
 <div class="sect5">
@@ -50015,7 +52960,7 @@
 <p>List Application Password validation policies</p>
 </div>
 <div class="sect5">
-<h6 id="_description_431">Description</h6>
+<h6 id="_description_446">Description</h6>
 <div class="paragraph">
 <p>ARGUMENTS Example Requests:  passwordpreferences</p>
 </div>
@@ -50084,7 +53029,7 @@
 <p>Update password preferences</p>
 </div>
 <div class="sect5">
-<h6 id="_description_432">Description</h6>
+<h6 id="_description_447">Description</h6>
 
 </div>
 <div class="sect5">
@@ -50173,7 +53118,7 @@
 <p>Create a Payment Type</p>
 </div>
 <div class="sect5">
-<h6 id="_description_433">Description</h6>
+<h6 id="_description_448">Description</h6>
 <div class="paragraph">
 <p>Creates a new Payment type  Mandatory Fields: name  Optional Fields: Description, isCashPayment,Position</p>
 </div>
@@ -50271,7 +53216,7 @@
 <p>Delete a Payment Type</p>
 </div>
 <div class="sect5">
-<h6 id="_description_434">Description</h6>
+<h6 id="_description_449">Description</h6>
 <div class="paragraph">
 <p>Deletes payment type</p>
 </div>
@@ -50369,7 +53314,7 @@
 <p>Retrieve all Payment Types</p>
 </div>
 <div class="sect5">
-<h6 id="_description_435">Description</h6>
+<h6 id="_description_450">Description</h6>
 <div class="paragraph">
 <p>Retrieve list of payment types</p>
 </div>
@@ -50438,7 +53383,7 @@
 <p>Retrieve a Payment Type</p>
 </div>
 <div class="sect5">
-<h6 id="_description_436">Description</h6>
+<h6 id="_description_451">Description</h6>
 <div class="paragraph">
 <p>Retrieves a payment type</p>
 </div>
@@ -50536,7 +53481,7 @@
 <p>Update a Payment Type</p>
 </div>
 <div class="sect5">
-<h6 id="_description_437">Description</h6>
+<h6 id="_description_452">Description</h6>
 <div class="paragraph">
 <p>Updates a Payment Type</p>
 </div>
@@ -50667,7 +53612,7 @@
 <p>Executes Periodic Accrual Accounting</p>
 </div>
 <div class="sect5">
-<h6 id="_description_438">Description</h6>
+<h6 id="_description_453">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields  tillDate</p>
 </div>
@@ -50758,7 +53703,7 @@
 <p>List Application Permissions</p>
 </div>
 <div class="sect5">
-<h6 id="_description_439">Description</h6>
+<h6 id="_description_454">Description</h6>
 <div class="paragraph">
 <p>ARGUMENTS makerCheckerableoptional, Values are true, false. Default is false. If makerCheckerable=false or not supplied then a list of application permissions is returned. The \"selected\" attribute is always true in this case.  If makerCheckerable=true then the \"selected\" attribute shows whether the permission is enabled for Maker Check functionality.  Note: Each Apache Fineract transaction is associated with a permission.  Example Requests:  permissions   permissions?makerCheckerable=true   permissions?fields=grouping,code</p>
 </div>
@@ -50827,7 +53772,7 @@
 <p>Enable/Disable Permissions for Maker Checker</p>
 </div>
 <div class="sect5">
-<h6 id="_description_440">Description</h6>
+<h6 id="_description_455">Description</h6>
 
 </div>
 <div class="sect5">
@@ -50926,7 +53871,7 @@
 <p>Link/delink accounts to/from pocket</p>
 </div>
 <div class="sect5">
-<h6 id="_description_441">Description</h6>
+<h6 id="_description_456">Description</h6>
 <div class="paragraph">
 <p>Pockets behave as favourites. An user can link his/her Loan, Savings and Share accounts to pocket for faster access. In a similar way linked accounts can be delinked from the pocket.  Example Requests:  self/pockets?command=linkAccounts  self/pockets?command=delinkAccounts</p>
 </div>
@@ -51054,7 +53999,7 @@
 <p>Retrieve accounts linked to pocket</p>
 </div>
 <div class="sect5">
-<h6 id="_description_442">Description</h6>
+<h6 id="_description_457">Description</h6>
 <div class="paragraph">
 <p>All linked loan  Example Requests:   self/pockets</p>
 </div>
@@ -51123,7 +54068,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_443">Description</h6>
+<h6 id="_description_458">Description</h6>
 
 </div>
 <div class="sect5">
@@ -51216,7 +54161,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_444">Description</h6>
+<h6 id="_description_459">Description</h6>
 
 </div>
 <div class="sect5">
@@ -51319,7 +54264,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_445">Description</h6>
+<h6 id="_description_460">Description</h6>
 
 </div>
 <div class="sect5">
@@ -51442,7 +54387,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_446">Description</h6>
+<h6 id="_description_461">Description</h6>
 
 </div>
 <div class="sect5">
@@ -51535,7 +54480,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_447">Description</h6>
+<h6 id="_description_462">Description</h6>
 
 </div>
 <div class="sect5">
@@ -51628,7 +54573,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_448">Description</h6>
+<h6 id="_description_463">Description</h6>
 
 </div>
 <div class="sect5">
@@ -51757,7 +54702,7 @@
 <p>Create a Share Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_449">Description</h6>
+<h6 id="_description_464">Description</h6>
 <div class="paragraph">
 <p>Creates a Share Product  Mandatory Fields: name, shortName, description, currencyCode, digitsAfterDecimal,inMultiplesOf, locale, totalShares, unitPrice, nominalShares,allowDividendCalculationForInactiveClients,accountingRule  Mandatory Fields for Cash based accounting (accountingRule = 2): shareReferenceId, shareSuspenseId, shareEquityId, incomeFromFeeAccountId  Optional Fields: sharesIssued, minimumShares, maximumShares, minimumActivePeriodForDividends, minimumactiveperiodFrequencyType, lockinPeriodFrequency, lockinPeriodFrequencyType, marketPricePeriods, chargesSelected</p>
 </div>
@@ -51882,7 +54827,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_450">Description</h6>
+<h6 id="_description_465">Description</h6>
 
 </div>
 <div class="sect5">
@@ -52015,7 +54960,7 @@
 <p>List Share Products</p>
 </div>
 <div class="sect5">
-<h6 id="_description_451">Description</h6>
+<h6 id="_description_466">Description</h6>
 <div class="paragraph">
 <p>Lists Share Products  Mandatory Fields: limit, offset  Example Requests:  shareproducts</p>
 </div>
@@ -52150,7 +55095,7 @@
 <p>Retrieve a Share Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_452">Description</h6>
+<h6 id="_description_467">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Share Product  Example Requests:  products/share/1   products/share/1?template=true</p>
 </div>
@@ -52252,7 +55197,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_453">Description</h6>
+<h6 id="_description_468">Description</h6>
 
 </div>
 <div class="sect5">
@@ -52348,7 +55293,7 @@
 <p>Update a Share Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_454">Description</h6>
+<h6 id="_description_469">Description</h6>
 <div class="paragraph">
 <p>Updates a Share Product</p>
 </div>
@@ -52483,7 +55428,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_455">Description</h6>
+<h6 id="_description_470">Description</h6>
 
 </div>
 <div class="sect5">
@@ -52576,7 +55521,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_456">Description</h6>
+<h6 id="_description_471">Description</h6>
 
 </div>
 <div class="sect5">
@@ -52669,7 +55614,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_457">Description</h6>
+<h6 id="_description_472">Description</h6>
 
 </div>
 <div class="sect5">
@@ -52733,7 +55678,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_458">Description</h6>
+<h6 id="_description_473">Description</h6>
 
 </div>
 <div class="sect5">
@@ -52862,7 +55807,7 @@
 <p>Create a new Provisioning Criteria</p>
 </div>
 <div class="sect5">
-<h6 id="_description_459">Description</h6>
+<h6 id="_description_474">Description</h6>
 <div class="paragraph">
 <p>Creates a new Provisioning Criteria  Mandatory Fields:  criteriaName provisioningcriteria  Optional Fields:  loanProducts</p>
 </div>
@@ -52960,7 +55905,7 @@
 <p>Deletes Provisioning Criteria</p>
 </div>
 <div class="sect5">
-<h6 id="_description_460">Description</h6>
+<h6 id="_description_475">Description</h6>
 <div class="paragraph">
 <p>Deletes Provisioning Criteria</p>
 </div>
@@ -53058,7 +56003,7 @@
 <p>Retrieves all created Provisioning Criterias</p>
 </div>
 <div class="sect5">
-<h6 id="_description_461">Description</h6>
+<h6 id="_description_476">Description</h6>
 <div class="paragraph">
 <p>Retrieves all created Provisioning Criterias</p>
 </div>
@@ -53127,7 +56072,7 @@
 <p>Retrieves a Provisioning Criteria</p>
 </div>
 <div class="sect5">
-<h6 id="_description_462">Description</h6>
+<h6 id="_description_477">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Provisioning Criteria</p>
 </div>
@@ -53222,7 +56167,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_463">Description</h6>
+<h6 id="_description_478">Description</h6>
 
 </div>
 <div class="sect5">
@@ -53289,7 +56234,7 @@
 <p>Updates a new Provisioning Criteria</p>
 </div>
 <div class="sect5">
-<h6 id="_description_464">Description</h6>
+<h6 id="_description_479">Description</h6>
 <div class="paragraph">
 <p>Updates a new Provisioning Criteria  Optional Fields criteriaName, loanProducts, provisioningcriteria</p>
 </div>
@@ -53420,7 +56365,7 @@
 <p>Create new Provisioning Entries</p>
 </div>
 <div class="sect5">
-<h6 id="_description_465">Description</h6>
+<h6 id="_description_480">Description</h6>
 <div class="paragraph">
 <p>Creates a new Provisioning Entries  Mandatory Fields date dateFormat locale Optional Fields createjournalentries</p>
 </div>
@@ -53518,7 +56463,7 @@
 <p>Recreates Provisioning Entry</p>
 </div>
 <div class="sect5">
-<h6 id="_description_466">Description</h6>
+<h6 id="_description_481">Description</h6>
 <div class="paragraph">
 <p>Recreates Provisioning Entry | createjournalentry.</p>
 </div>
@@ -53676,7 +56621,7 @@
 <p>List all Provisioning Entries</p>
 </div>
 <div class="sect5">
-<h6 id="_description_467">Description</h6>
+<h6 id="_description_482">Description</h6>
 
 </div>
 <div class="sect5">
@@ -53776,7 +56721,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_468">Description</h6>
+<h6 id="_description_483">Description</h6>
 
 </div>
 <div class="sect5">
@@ -53907,7 +56852,7 @@
 <p>Retrieves a Provisioning Entry</p>
 </div>
 <div class="sect5">
-<h6 id="_description_469">Description</h6>
+<h6 id="_description_484">Description</h6>
 <div class="paragraph">
 <p>Returns the details of a generated Provisioning Entry.</p>
 </div>
@@ -54005,7 +56950,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_470">Description</h6>
+<h6 id="_description_485">Description</h6>
 
 </div>
 <div class="sect5">
@@ -54098,7 +57043,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_471">Description</h6>
+<h6 id="_description_486">Description</h6>
 
 </div>
 <div class="sect5">
@@ -54162,7 +57107,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_472">Description</h6>
+<h6 id="_description_487">Description</h6>
 
 </div>
 <div class="sect5">
@@ -54255,7 +57200,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_473">Description</h6>
+<h6 id="_description_488">Description</h6>
 
 </div>
 <div class="sect5">
@@ -54381,7 +57326,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_474">Description</h6>
+<h6 id="_description_489">Description</h6>
 
 </div>
 <div class="sect5">
@@ -54507,7 +57452,7 @@
 <p>Delete a recurring deposit application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_475">Description</h6>
+<h6 id="_description_490">Description</h6>
 <div class="paragraph">
 <p>At present we support hard delete of recurring deposit application so long as its in 'Submitted and pending approval' state. One the application is moves past this state, it is not possible to do a 'hard' delete of the application or the account. An API endpoint will be added to close/de-activate the recurring deposit account.</p>
 </div>
@@ -54602,7 +57547,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_476">Description</h6>
+<h6 id="_description_491">Description</h6>
 
 </div>
 <div class="sect5">
@@ -54709,7 +57654,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_477">Description</h6>
+<h6 id="_description_492">Description</h6>
 
 </div>
 <div class="sect5">
@@ -54812,7 +57757,7 @@
 <p>Approve recurring deposit application | Undo approval recurring deposit application | Reject recurring deposit application | Withdraw recurring deposit application | Activate a recurring deposit account | Update the recommended deposit amount for a recurring deposit account | Close a recurring deposit account | Premature Close a recurring deposit account | Calculate Premature amount on Recurring deposit account | Calculate Interest on recurring Deposit Account | Post Interest on recurring Deposit Account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_478">Description</h6>
+<h6 id="_description_493">Description</h6>
 <div class="paragraph">
 <p>Approve recurring deposit application:  Approves recurring deposit application so long as its in 'Submitted and pending approval' state.  Undo approval recurring deposit application:  Will move 'approved' recurring deposit application back to 'Submitted and pending approval' state.  Reject recurring deposit application  Rejects recurring deposit application so long as its in 'Submitted and pending approval' state.  Withdraw recurring deposit application:  Used when an applicant withdraws from the recurring deposit application. It must be in 'Submitted and pending approval' state.  Activate a recurring deposit account:  Results in an approved recurring deposit application being converted into an 'active' recurring deposit account.  Update the recommended deposit amount for a recurring deposit account:  Updates the recommended deposit amount for a RD account as on the effective date.  Close a recurring deposit account  Results in a Matured recurring deposit account being converted into a 'closed' recurring deposit account.  On account close allowed actions are.Premature Close a recurring deposit account:  Results in an Active recurring deposit account being converted into a 'Premature Closed' recurring deposit account with options to withdraw prematured amount. (premature amount is calculated using interest rate chart applicable along with penal interest if any.)  On account premature closure allowed actions are.  Calculate Premature amount on Recurring deposit account:  Calculate premature amount on recurring deposit till premature close date. Premature amount is calculated based on interest chart and penal interest applicable if any.  Calculate Interest on recurring Deposit Account:  Calculates interest earned on a recurring deposit account based on todays date. It does not attempt to post or credit the interest on the account. That is responsibility of the Post Interest API that will likely be called by overnight process.  Post Interest on recurring Deposit Account:  Calculates and Posts interest earned on a recurring deposit account based on todays date and whether an interest posting or crediting event is due.  Showing request/response for 'Post Interest on recurring Deposit Account'</p>
 </div>
@@ -54967,7 +57912,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_479">Description</h6>
+<h6 id="_description_494">Description</h6>
 
 </div>
 <div class="sect5">
@@ -55074,7 +58019,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_480">Description</h6>
+<h6 id="_description_495">Description</h6>
 
 </div>
 <div class="sect5">
@@ -55184,7 +58129,7 @@
 <p>List Recurring deposit applications/accounts</p>
 </div>
 <div class="sect5">
-<h6 id="_description_481">Description</h6>
+<h6 id="_description_496">Description</h6>
 <div class="paragraph">
 <p>Lists Recurring deposit applications/accounts  Example Requests:  recurringdepositaccounts   recurringdepositaccounts?fields=name</p>
 </div>
@@ -55310,7 +58255,7 @@
 <p>Retrieve a recurring deposit application/account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_482">Description</h6>
+<h6 id="_description_497">Description</h6>
 <div class="paragraph">
 <p>Retrieves a recurring deposit application/account  Example Requests :  recurringdepositaccounts/1   recurringdepositaccounts/1?associations=all</p>
 </div>
@@ -55445,7 +58390,7 @@
 <p>Submit new recurring deposit application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_483">Description</h6>
+<h6 id="_description_498">Description</h6>
 <div class="paragraph">
 <p>Submits new recurring deposit application  Mandatory Fields: clientId or groupId, productId, submittedOnDate, depositAmount, depositPeriod, depositPeriodFrequencyId  Optional Fields: accountNo, externalId, fieldOfficerId,linkAccountId(if provided initial deposit amount will be collected from this account),transferInterestToSavings(By enabling this flag all interest postings will be transferred to linked saving account )  Inherited from Product (if not provided): interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, lockinPeriodFrequency, lockinPeriodFrequencyType, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, charts, withHoldTax</p>
 </div>
@@ -55543,7 +58488,7 @@
 <p>Retrieve recurring Deposit Account Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_484">Description</h6>
+<h6 id="_description_499">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for recurring deposit applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists  Example Requests:  recurringdepositaccounts/template?clientId=1   recurringdepositaccounts/template?clientId=1&amp;productId=1</p>
 </div>
@@ -55662,7 +58607,7 @@
 <p>Modify a recurring deposit application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_485">Description</h6>
+<h6 id="_description_500">Description</h6>
 <div class="paragraph">
 <p>Recurring deposit application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc</p>
 </div>
@@ -55793,7 +58738,7 @@
 <p>Adjust Transaction | Undo transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_486">Description</h6>
+<h6 id="_description_501">Description</h6>
 <div class="paragraph">
 <p>Adjust Transaction:  This command modifies the given transaction.  Undo transaction:  This command reverses the given transaction.  Showing request/response for 'Adjust Transaction'</p>
 </div>
@@ -55958,7 +58903,7 @@
 <p>Retrieve Recurring Deposit Account Transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_487">Description</h6>
+<h6 id="_description_502">Description</h6>
 <div class="paragraph">
 <p>Retrieves Recurring Deposit Account Transaction  Example Requests:  recurringdepositaccounts/1/transactions/1</p>
 </div>
@@ -56063,7 +59008,7 @@
 <p>Retrieve Recurring Deposit Account Transaction Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_488">Description</h6>
+<h6 id="_description_503">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists Example Requests:  recurringdepositaccounts/1/transactions/template?command=deposit  recurringdepositaccounts/1/transactions/template?command=withdrawal</p>
 </div>
@@ -56191,7 +59136,7 @@
 <p>Deposit Transaction | Withdrawal Transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_489">Description</h6>
+<h6 id="_description_504">Description</h6>
 <div class="paragraph">
 <p>Deposit Transaction:  Used for a deposit transaction  Withdrawal Transaction:  Used for a Withdrawal Transaction  Showing request/response for Deposit Transaction</p>
 </div>
@@ -56352,7 +59297,7 @@
 <p>Create a Recurring Deposit Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_490">Description</h6>
+<h6 id="_description_505">Description</h6>
 <div class="paragraph">
 <p>Creates a Recurring Deposit Product  Mandatory Fields: name, shortName, description, currencyCode, digitsAfterDecimal,inMultiplesOf, interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, minDepositTerm, minDepositTermTypeId, recurringDepositFrequency, recurringDepositFrequencyTypeId, accountingRule, depositAmount  Mandatory Fields for Cash based accounting (accountingRule = 2): savingsReferenceAccountId, savingsControlAccountId, interestOnSavingsAccountId, incomeFromFeeAccountId, transfersInSuspenseAccountId, incomeFromPenaltyAccountId  Optional Fields: lockinPeriodFrequency, lockinPeriodFrequencyType, maxDepositTerm, maxDepositTermTypeId, inMultiplesOfDepositTerm, inMultiplesOfDepositTermTypeId, preClosurePenalApplicable, preClosurePenalInterest, preClosurePenalInterestOnTypeId, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, charges, charts, minDepositAmount, maxDepositAmount, withHoldTax, taxGroupId</p>
 </div>
@@ -56450,7 +59395,7 @@
 <p>Delete a Recurring Deposit Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_491">Description</h6>
+<h6 id="_description_506">Description</h6>
 <div class="paragraph">
 <p>Deletes a Recurring Deposit Product</p>
 </div>
@@ -56548,7 +59493,7 @@
 <p>List Recuring Deposit Products</p>
 </div>
 <div class="sect5">
-<h6 id="_description_492">Description</h6>
+<h6 id="_description_507">Description</h6>
 <div class="paragraph">
 <p>Lists Recuring Deposit Products  Example Requests:  recurringdepositproducts   recurringdepositproducts?fields=name</p>
 </div>
@@ -56617,7 +59562,7 @@
 <p>Retrieve a Recurring Deposit Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_493">Description</h6>
+<h6 id="_description_508">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Recurring Deposit Product  Example Requests:  recurringdepositproducts/1   recurringdepositproducts/1?template=true   recurringdepositproducts/1?fields=name,description</p>
 </div>
@@ -56712,7 +59657,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_494">Description</h6>
+<h6 id="_description_509">Description</h6>
 
 </div>
 <div class="sect5">
@@ -56779,7 +59724,7 @@
 <p>Update a Recurring Deposit Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_495">Description</h6>
+<h6 id="_description_510">Description</h6>
 <div class="paragraph">
 <p>Updates a Recurring Deposit Product</p>
 </div>
@@ -56910,7 +59855,7 @@
 <p>Delete Post Dated Check</p>
 </div>
 <div class="sect5">
-<h6 id="_description_496">Description</h6>
+<h6 id="_description_511">Description</h6>
 <div class="paragraph">
 <p>Delete Post Dated Check</p>
 </div>
@@ -57015,7 +59960,7 @@
 <p>Get Post Dated Check</p>
 </div>
 <div class="sect5">
-<h6 id="_description_497">Description</h6>
+<h6 id="_description_512">Description</h6>
 <div class="paragraph">
 <p>Get Post Dated Check</p>
 </div>
@@ -57120,7 +60065,7 @@
 <p>Get All Post Dated Checks</p>
 </div>
 <div class="sect5">
-<h6 id="_description_498">Description</h6>
+<h6 id="_description_513">Description</h6>
 <div class="paragraph">
 <p>Get All Post dated Checks</p>
 </div>
@@ -57218,7 +60163,7 @@
 <p>Update Post Dated Check, Bounced Check</p>
 </div>
 <div class="sect5">
-<h6 id="_description_499">Description</h6>
+<h6 id="_description_514">Description</h6>
 <div class="paragraph">
 <p>Update Post Dated Check, Bounced Check</p>
 </div>
@@ -57386,7 +60331,7 @@
 <p>Create a Report Mailing Job</p>
 </div>
 <div class="sect5">
-<h6 id="_description_500">Description</h6>
+<h6 id="_description_515">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields: name, startDateTime, stretchyReportId, emailRecipients, emailSubject, emailMessage, emailAttachmentFileFormatId, recurrence, isActive  Optional Fields: description, stretchyReportParamMap</p>
 </div>
@@ -57484,7 +60429,7 @@
 <p>Delete a Report Mailing Job</p>
 </div>
 <div class="sect5">
-<h6 id="_description_501">Description</h6>
+<h6 id="_description_516">Description</h6>
 
 </div>
 <div class="sect5">
@@ -57610,7 +60555,7 @@
 <p>List Report Mailing Jobs</p>
 </div>
 <div class="sect5">
-<h6 id="_description_502">Description</h6>
+<h6 id="_description_517">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  reportmailingjobs</p>
 </div>
@@ -57729,7 +60674,7 @@
 <p>Retrieve a Report Mailing Job</p>
 </div>
 <div class="sect5">
-<h6 id="_description_503">Description</h6>
+<h6 id="_description_518">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  reportmailingjobs/1   reportmailingjobs/1?template=true</p>
 </div>
@@ -57827,7 +60772,7 @@
 <p>Retrieve Report Mailing Job Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_504">Description</h6>
+<h6 id="_description_519">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for report mailing job applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  reportmailingjobs/template</p>
 </div>
@@ -57896,7 +60841,7 @@
 <p>Update a Report Mailing Job</p>
 </div>
 <div class="sect5">
-<h6 id="_description_505">Description</h6>
+<h6 id="_description_520">Description</h6>
 
 </div>
 <div class="sect5">
@@ -58025,7 +60970,7 @@
 <p>Create a Report</p>
 </div>
 <div class="sect5">
-<h6 id="_description_506">Description</h6>
+<h6 id="_description_521">Description</h6>
 
 </div>
 <div class="sect5">
@@ -58121,7 +61066,7 @@
 <p>Delete a Report</p>
 </div>
 <div class="sect5">
-<h6 id="_description_507">Description</h6>
+<h6 id="_description_522">Description</h6>
 <div class="paragraph">
 <p>Only non-core reports can be deleted.</p>
 </div>
@@ -58219,7 +61164,7 @@
 <p>Retrieve Report Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_508">Description</h6>
+<h6 id="_description_523">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists  Example Request :   reports/template</p>
 </div>
@@ -58288,7 +61233,7 @@
 <p>Retrieve a Report</p>
 </div>
 <div class="sect5">
-<h6 id="_description_509">Description</h6>
+<h6 id="_description_524">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  reports/1   reports/1?template=true</p>
 </div>
@@ -58386,7 +61331,7 @@
 <p>List Reports</p>
 </div>
 <div class="sect5">
-<h6 id="_description_510">Description</h6>
+<h6 id="_description_525">Description</h6>
 <div class="paragraph">
 <p>Lists all reports and their parameters.  Example Request:  reports</p>
 </div>
@@ -58455,7 +61400,7 @@
 <p>Update a Report</p>
 </div>
 <div class="sect5">
-<h6 id="_description_511">Description</h6>
+<h6 id="_description_526">Description</h6>
 <div class="paragraph">
 <p>Only the useReport description can be updated for core reports.</p>
 </div>
@@ -58583,7 +61528,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_512">Description</h6>
+<h6 id="_description_527">Description</h6>
 
 </div>
 <div class="sect5">
@@ -58676,7 +61621,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_513">Description</h6>
+<h6 id="_description_528">Description</h6>
 
 </div>
 <div class="sect5">
@@ -58799,7 +61744,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_514">Description</h6>
+<h6 id="_description_529">Description</h6>
 
 </div>
 <div class="sect5">
@@ -58892,7 +61837,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_515">Description</h6>
+<h6 id="_description_530">Description</h6>
 
 </div>
 <div class="sect5">
@@ -58956,7 +61901,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_516">Description</h6>
+<h6 id="_description_531">Description</h6>
 
 </div>
 <div class="sect5">
@@ -59115,7 +62060,7 @@
 <p>Enable Role | Disable Role</p>
 </div>
 <div class="sect5">
-<h6 id="_description_517">Description</h6>
+<h6 id="_description_532">Description</h6>
 <div class="paragraph">
 <p>Description : Enable role in case role is disabled. | Disable the role in case role is not associated with any users.      Example Request:   <a href="https://DomainName/api/v1/roles/{roleId}?command=enable" class="bare">DomainName/api/v1/roles/{roleId}?command=enable</a>      <a href="https://DomainName/api/v1/roles/{roleId}?command=disable" class="bare">DomainName/api/v1/roles/{roleId}?command=disable</a></p>
 </div>
@@ -59243,7 +62188,7 @@
 <p>Create a New Role</p>
 </div>
 <div class="sect5">
-<h6 id="_description_518">Description</h6>
+<h6 id="_description_533">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields name, description</p>
 </div>
@@ -59341,7 +62286,7 @@
 <p>Delete a Role</p>
 </div>
 <div class="sect5">
-<h6 id="_description_519">Description</h6>
+<h6 id="_description_534">Description</h6>
 <div class="paragraph">
 <p>Description : Delete the role in case role is not associated with any users.</p>
 </div>
@@ -59439,7 +62384,7 @@
 <p>List Roles</p>
 </div>
 <div class="sect5">
-<h6 id="_description_520">Description</h6>
+<h6 id="_description_535">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  roles   roles?fields=name</p>
 </div>
@@ -59508,7 +62453,7 @@
 <p>Retrieve a Role</p>
 </div>
 <div class="sect5">
-<h6 id="_description_521">Description</h6>
+<h6 id="_description_536">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  roles/1   roles/1?fields=name</p>
 </div>
@@ -59606,7 +62551,7 @@
 <p>Retrieve a Role&#8217;s Permissions</p>
 </div>
 <div class="sect5">
-<h6 id="_description_522">Description</h6>
+<h6 id="_description_537">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  roles/1/permissions</p>
 </div>
@@ -59704,7 +62649,7 @@
 <p>Update a Role</p>
 </div>
 <div class="sect5">
-<h6 id="_description_523">Description</h6>
+<h6 id="_description_538">Description</h6>
 
 </div>
 <div class="sect5">
@@ -59830,7 +62775,7 @@
 <p>Update a Role&#8217;s Permissions</p>
 </div>
 <div class="sect5">
-<h6 id="_description_524">Description</h6>
+<h6 id="_description_539">Description</h6>
 
 </div>
 <div class="sect5">
@@ -59959,7 +62904,7 @@
 <p>Running a Report</p>
 </div>
 <div class="sect5">
-<h6 id="_description_525">Description</h6>
+<h6 id="_description_540">Description</h6>
 <div class="paragraph">
 <p>This resource allows you to run and receive output from pre-defined Apache Fineract reports.  Reports can also be used to provide data for searching and workflow functionality.  The default output is a JSON formatted \"Generic Resultset\". The Generic Resultset contains Column Heading as well as Data information. However, you can export to CSV format by simply adding \"&amp;exportCSV=true\" to the end of your URL.  If Pentaho reports have been pre-defined, they can also be run through this resource. Pentaho reports can return HTML, PDF or CSV formats.  The Apache Fineract reference application uses a JQuery plugin called stretchy reporting which, itself, uses this reports resource to provide a pretty flexible reporting User Interface (UI).    Example Requests:  runreports/Client%20Listing?R_officeId=1   runreports/Client%20Listing?R_officeId=1&amp;exportCSV=true   runreports/OfficeIdSelectOne?R_officeId=1&amp;parameterType=true   runreports/OfficeIdSelectOne?R_officeId=1&amp;parameterType=true&amp;exportCSV=true   runreports/Expected%20Payments%20By%20Date%20-%20Formatted?R_endDate=2013-04-30&amp;R_loanOfficerId=-1&amp;R_officeId=1&amp;R_startDate=2013-04-16&amp;output-type=HTML&amp;R_officeId=1   runreports/Expected%20Payments%20By%20Date%20-%20Formatted?R_endDate=2013-04-30&amp;R_loanOfficerId=-1&amp;R_officeId=1&amp;R_startDate=2013-04-16&amp;output-type=XLS&amp;R_officeId=1   runreports/Expected%20Payments%20By%20Date%20-%20Formatted?R_endDate=2013-04-30&amp;R_loanOfficerId=-1&amp;R_officeId=1&amp;R_startDate=2013-04-16&amp;output-type=CSV&amp;R_officeId=1   runreports/Expected%20Payments%20By%20Date%20-%20Formatted?R_endDate=2013-04-30&amp;R_loanOfficerId=-1&amp;R_officeId=1&amp;R_startDate=2013-04-16&amp;output-type=PDF&amp;R_officeId=1</p>
 </div>
@@ -60099,7 +63044,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_526">Description</h6>
+<h6 id="_description_541">Description</h6>
 
 </div>
 <div class="sect5">
@@ -60192,7 +63137,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_527">Description</h6>
+<h6 id="_description_542">Description</h6>
 
 </div>
 <div class="sect5">
@@ -60285,7 +63230,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_528">Description</h6>
+<h6 id="_description_543">Description</h6>
 
 </div>
 <div class="sect5">
@@ -60349,7 +63294,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_529">Description</h6>
+<h6 id="_description_544">Description</h6>
 
 </div>
 <div class="sect5">
@@ -60535,7 +63480,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_530">Description</h6>
+<h6 id="_description_545">Description</h6>
 
 </div>
 <div class="sect5">
@@ -60628,7 +63573,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_531">Description</h6>
+<h6 id="_description_546">Description</h6>
 
 </div>
 <div class="sect5">
@@ -60757,7 +63702,7 @@
 <p>Create a Lookup Table entry</p>
 </div>
 <div class="sect5">
-<h6 id="_description_532">Description</h6>
+<h6 id="_description_547">Description</h6>
 <div class="paragraph">
 <p>Add a new entry to a survey.  Mandatory Fields key, score, validFrom, validTo</p>
 </div>
@@ -60875,7 +63820,7 @@
 <p>List all Lookup Table entries</p>
 </div>
 <div class="sect5">
-<h6 id="_description_533">Description</h6>
+<h6 id="_description_548">Description</h6>
 <div class="paragraph">
 <p>List all Lookup Table entries for a survey.</p>
 </div>
@@ -60973,7 +63918,7 @@
 <p>Retrieve a Lookup Table entry</p>
 </div>
 <div class="sect5">
-<h6 id="_description_534">Description</h6>
+<h6 id="_description_549">Description</h6>
 <div class="paragraph">
 <p>Retrieve a Lookup Table entry for a survey.</p>
 </div>
@@ -61081,7 +64026,7 @@
 <p>Delete a savings application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_535">Description</h6>
+<h6 id="_description_550">Description</h6>
 <div class="paragraph">
 <p>At present we support hard delete of savings application so long as its in 'Submitted and pending approval' state. One the application is moves past this state, it is not possible to do a 'hard' delete of the application or the account. An API endpoint will be added to close/de-activate the savings account.</p>
 </div>
@@ -61176,7 +64121,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_536">Description</h6>
+<h6 id="_description_551">Description</h6>
 
 </div>
 <div class="sect5">
@@ -61283,7 +64228,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_537">Description</h6>
+<h6 id="_description_552">Description</h6>
 
 </div>
 <div class="sect5">
@@ -61386,7 +64331,7 @@
 <p>Approve savings application | Undo approval savings application | Assign Savings Officer | Unassign Savings Officer | Reject savings application | Withdraw savings application | Activate a savings account | Close a savings account | Calculate Interest on Savings Account | Post Interest on Savings Account | Block Savings Account | Unblock Savings Account | Block Savings Account Credit transactions | Unblock Savings Account Credit transactions | Block Savings Account Debit transactions | Unblock Savings Account debit transactions</p>
 </div>
 <div class="sect5">
-<h6 id="_description_538">Description</h6>
+<h6 id="_description_553">Description</h6>
 <div class="paragraph">
 <p>Approve savings application:  Approves savings application so long as its in 'Submitted and pending approval' state.  Undo approval savings application:  Will move 'approved' savings application back to 'Submitted and pending approval' state.  Assign Savings Officer:  Allows you to assign Savings Officer for existing Savings Account.  Unassign Savings Officer:  Allows you to unassign the Savings Officer.  Reject savings application:  Rejects savings application so long as its in 'Submitted and pending approval' state.  Withdraw savings application:  Used when an applicant withdraws from the savings application. It must be in 'Submitted and pending approval' state.  Activate a savings account:  Results in an approved savings application being converted into an 'active' savings account.  Close a savings account:  Results in an Activated savings application being converted into an 'closed' savings account.  closedOnDate is closure date of savings account  withdrawBalance is a boolean description, true value of this field performs a withdrawal transaction with account&#8217;s running balance.  Mandatory Fields: dateFormat,locale,closedOnDate  Optional Fields: note, withdrawBalance, paymentTypeId, accountNumber, checkNumber, routingCode, receiptNumber, bankNumber  Calculate Interest on Savings Account:  Calculates interest earned on a savings account based on todays date. It does not attempt to post or credit the interest on the account. That is responsibility of the Post Interest API that will likely be called by overnight process.  Post Interest on Savings Account:  Calculates and Posts interest earned on a savings account based on today&#8217;s date and whether an interest posting or crediting event is due.  Block Savings Account:  Blocks Savings account from all types of credit and debit transactions  Unblock Savings Account:  Unblock a blocked account. On unblocking account, user can perform debit and credit transactions  Block Savings Account Credit transactions:  Savings account will be blocked from all types of credit transactions.  Unblock Savings Account Credit transactions:  It unblocks the Saving account&#8217;s credit operations. Now all types of credits can be transacted to Savings account  Block Savings Account Debit transactions:  All types of debit operations from Savings account wil be blocked  Unblock Savings Account debit transactions:  It unblocks the Saving account&#8217;s debit operations. Now all types of debits can be transacted from Savings account  Showing request/response for 'Unassign Savings Officer'</p>
 </div>
@@ -61541,7 +64486,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_539">Description</h6>
+<h6 id="_description_554">Description</h6>
 
 </div>
 <div class="sect5">
@@ -61694,7 +64639,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_540">Description</h6>
+<h6 id="_description_555">Description</h6>
 
 </div>
 <div class="sect5">
@@ -61801,7 +64746,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_541">Description</h6>
+<h6 id="_description_556">Description</h6>
 
 </div>
 <div class="sect5">
@@ -61911,7 +64856,7 @@
 <p>List savings applications/accounts</p>
 </div>
 <div class="sect5">
-<h6 id="_description_542">Description</h6>
+<h6 id="_description_557">Description</h6>
 <div class="paragraph">
 <p>Lists savings applications/accounts  Example Requests:  savingsaccounts   savingsaccounts?fields=name</p>
 </div>
@@ -62044,7 +64989,7 @@
 <p>Retrieve a savings application/account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_543">Description</h6>
+<h6 id="_description_558">Description</h6>
 <div class="paragraph">
 <p>Retrieves a savings application/account  Example Requests :  savingsaccounts/1   savingsaccounts/1?associations=all</p>
 </div>
@@ -62179,7 +65124,7 @@
 <p>Submit new savings application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_544">Description</h6>
+<h6 id="_description_559">Description</h6>
 <div class="paragraph">
 <p>Submits new savings application  Mandatory Fields: clientId or groupId, productId, submittedOnDate  Optional Fields: accountNo, externalId, fieldOfficerId  Inherited from Product (if not provided): nominalAnnualInterestRate, interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType, minRequiredOpeningBalance, lockinPeriodFrequency, lockinPeriodFrequencyType, withdrawalFeeForTransfers, allowOverdraft, overdraftLimit, withHoldTax  Additional Mandatory Field if Entity-Datatable Check is enabled for the entity of type Savings: datatables</p>
 </div>
@@ -62274,7 +65219,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_545">Description</h6>
+<h6 id="_description_560">Description</h6>
 
 </div>
 <div class="sect5">
@@ -62370,7 +65315,7 @@
 <p>Retrieve Savings Account Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_546">Description</h6>
+<h6 id="_description_561">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists  Example Requests:  savingsaccounts/template?clientId=1   savingsaccounts/template?clientId=1&amp;productId=1</p>
 </div>
@@ -62489,7 +65434,7 @@
 <p>Modify a savings application | Modify savings account withhold tax applicability</p>
 </div>
 <div class="sect5">
-<h6 id="_description_547">Description</h6>
+<h6 id="_description_562">Description</h6>
 <div class="paragraph">
 <p>Modify a savings application:  Savings application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc  Modify savings account withhold tax applicability:  Savings application&#8217;s withhold tax can be modified when in 'Active' state. Once the application is activated, can modify the account withhold tax to post tax or vice-versaShowing request/response for 'Modify a savings application'</p>
 </div>
@@ -62644,7 +65589,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_548">Description</h6>
+<h6 id="_description_563">Description</h6>
 
 </div>
 <div class="sect5">
@@ -62770,7 +65715,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_549">Description</h6>
+<h6 id="_description_564">Description</h6>
 
 </div>
 <div class="sect5">
@@ -62930,7 +65875,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_550">Description</h6>
+<h6 id="_description_565">Description</h6>
 
 </div>
 <div class="sect5">
@@ -63030,7 +65975,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_551">Description</h6>
+<h6 id="_description_566">Description</h6>
 
 </div>
 <div class="sect5">
@@ -63123,7 +66068,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_552">Description</h6>
+<h6 id="_description_567">Description</h6>
 
 </div>
 <div class="sect5">
@@ -63282,7 +66227,7 @@
 <p>Create a Savings account Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_553">Description</h6>
+<h6 id="_description_568">Description</h6>
 <div class="paragraph">
 <p>Creates a Savings account Charge  Mandatory Fields for Savings account Charges: chargeId, amount  chargeId, amount, dueDate, dateFormat, locale  chargeId, amount, feeOnMonthDay, monthDayFormat, locale</p>
 </div>
@@ -63410,7 +66355,7 @@
 <p>Delete a Savings account Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_554">Description</h6>
+<h6 id="_description_569">Description</h6>
 <div class="paragraph">
 <p>Note: Currently, A Savings account Charge may only be removed from Savings that are not yet approved.</p>
 </div>
@@ -63515,7 +66460,7 @@
 <p>Pay a Savings account Charge | Waive off a Savings account Charge | Inactivate a Savings account Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_555">Description</h6>
+<h6 id="_description_570">Description</h6>
 <div class="paragraph">
 <p>Pay a Savings account Charge:  An active charge will be paid when savings account is active and having sufficient balance.  Waive off a Savings account Charge:  Outstanding charge amount will be waived off.  Inactivate a Savings account Charge:  A charge will be allowed to inactivate when savings account is active and not having any dues as of today. If charge is overpaid, corresponding charge payment transactions will be reversed.  Showing request/response for 'Pay a Savings account Charge'</p>
 </div>
@@ -63680,7 +66625,7 @@
 <p>List Savings Charges</p>
 </div>
 <div class="sect5">
-<h6 id="_description_556">Description</h6>
+<h6 id="_description_571">Description</h6>
 <div class="paragraph">
 <p>Lists Savings Charges  Example Requests:  savingsaccounts/1/charges  savingsaccounts/1/charges?chargeStatus=all  savingsaccounts/1/charges?chargeStatus=inactive  savingsaccounts/1/charges?chargeStatus=active  savingsaccounts/1/charges?fields=name,amountOrPercentage</p>
 </div>
@@ -63808,7 +66753,7 @@
 <p>Retrieve a Savings account Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_557">Description</h6>
+<h6 id="_description_572">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Savings account Charge  Example Requests:  /savingsaccounts/1/charges/5   /savingsaccounts/1/charges/5?fields=name,amountOrPercentage</p>
 </div>
@@ -63913,7 +66858,7 @@
 <p>Retrieve Savings Charges Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_558">Description</h6>
+<h6 id="_description_573">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  savingsaccounts/1/charges/template</p>
 </div>
@@ -64011,7 +66956,7 @@
 <p>Update a Savings account Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_559">Description</h6>
+<h6 id="_description_574">Description</h6>
 <div class="paragraph">
 <p>Currently Savings account Charges may be updated only if the Savings account is not yet approved.</p>
 </div>
@@ -64149,7 +67094,7 @@
 <p>Create a Savings Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_560">Description</h6>
+<h6 id="_description_575">Description</h6>
 <div class="paragraph">
 <p>Creates a Savings Product  Mandatory Fields: name, shortName, description, currencyCode, digitsAfterDecimal,inMultiplesOf, nominalAnnualInterestRate, interestCompoundingPeriodType, interestCalculationType, interestCalculationDaysInYearType,accountingRule  Mandatory Fields for Cash based accounting (accountingRule = 2): savingsReferenceAccountId, savingsControlAccountId, interestOnSavingsAccountId, incomeFromFeeAccountId, transfersInSuspenseAccountId, incomeFromPenaltyAccountId  Optional Fields: minRequiredOpeningBalance, lockinPeriodFrequency, lockinPeriodFrequencyType, withdrawalFeeForTransfers, paymentChannelToFundSourceMappings, feeToIncomeAccountMappings, penaltyToIncomeAccountMappings, charges, allowOverdraft, overdraftLimit, minBalanceForInterestCalculation,withHoldTax,taxGroupId,accountMapping, lienAllowed, maxAllowedLienLimit</p>
 </div>
@@ -64247,7 +67192,7 @@
 <p>Delete a Savings Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_561">Description</h6>
+<h6 id="_description_576">Description</h6>
 <div class="paragraph">
 <p>Deletes a Savings Product</p>
 </div>
@@ -64345,7 +67290,7 @@
 <p>List Savings Products</p>
 </div>
 <div class="sect5">
-<h6 id="_description_562">Description</h6>
+<h6 id="_description_577">Description</h6>
 <div class="paragraph">
 <p>Lists Savings Products  Example Requests:  savingsproducts  savingsproducts?fields=name</p>
 </div>
@@ -64414,7 +67359,7 @@
 <p>Retrieve a Savings Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_563">Description</h6>
+<h6 id="_description_578">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Savings Product  Example Requests:  savingsproducts/1  savingsproducts/1?template=true  savingsproducts/1?fields=name,description</p>
 </div>
@@ -64512,7 +67457,7 @@
 <p>Retrieve Savings Product Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_564">Description</h6>
+<h6 id="_description_579">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request: Account Mapping:  savingsproducts/template</p>
 </div>
@@ -64581,7 +67526,7 @@
 <p>Update a Savings Product</p>
 </div>
 <div class="sect5">
-<h6 id="_description_565">Description</h6>
+<h6 id="_description_580">Description</h6>
 <div class="paragraph">
 <p>Updates a Savings Product</p>
 </div>
@@ -64712,7 +67657,7 @@
 <p>Activate Scheduler Jobs | Suspend Scheduler Jobs</p>
 </div>
 <div class="sect5">
-<h6 id="_description_566">Description</h6>
+<h6 id="_description_581">Description</h6>
 <div class="paragraph">
 <p>Activates the scheduler job service. | Suspends the scheduler job service.</p>
 </div>
@@ -64800,7 +67745,7 @@
 <p>Retrieve Scheduler Status</p>
 </div>
 <div class="sect5">
-<h6 id="_description_567">Description</h6>
+<h6 id="_description_582">Description</h6>
 <div class="paragraph">
 <p>Returns the scheduler status.  Example Requests:  scheduler</p>
 </div>
@@ -64872,7 +67817,7 @@
 <p>Create a Scorecard entry</p>
 </div>
 <div class="sect5">
-<h6 id="_description_568">Description</h6>
+<h6 id="_description_583">Description</h6>
 <div class="paragraph">
 <p>Add a new entry to a survey.  Mandatory Fields clientId, createdOn, questionId, responseId, staffId</p>
 </div>
@@ -64987,7 +67932,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_569">Description</h6>
+<h6 id="_description_584">Description</h6>
 
 </div>
 <div class="sect5">
@@ -65083,7 +68028,7 @@
 <p>List all Scorecard entries</p>
 </div>
 <div class="sect5">
-<h6 id="_description_570">Description</h6>
+<h6 id="_description_585">Description</h6>
 <div class="paragraph">
 <p>List all Scorecard entries for a survey.</p>
 </div>
@@ -65178,7 +68123,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_571">Description</h6>
+<h6 id="_description_586">Description</h6>
 
 </div>
 <div class="sect5">
@@ -65284,7 +68229,7 @@
 <p>Adhoc query search</p>
 </div>
 <div class="sect5">
-<h6 id="_description_572">Description</h6>
+<h6 id="_description_587">Description</h6>
 <div class="paragraph">
 <p>AdHocQuery search has more search options, it is a POST request, it uses request body to send search parameters   Mandatory fields:entities  Optional fields:loanStatus, loanProducts, offices, loanDateOption, loanFromDate, loanToDate,  includeOutStandingAmountPercentage, outStandingAmountPercentageCondition,  minOutStandingAmountPercentage and maxOutStandingAmountPercentage OR outStandingAmountPercentage,  includeOutstandingAmount, outstandingAmountCondition,  minOutstandingAmount and maxOutstandingAmount OR outstandingAmount</p>
 </div>
@@ -65382,7 +68327,7 @@
 <p>Retrive Adhoc Search query template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_573">Description</h6>
+<h6 id="_description_588">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields  search?query=000000001</p>
 </div>
@@ -65451,7 +68396,7 @@
 <p>Search Resources</p>
 </div>
 <div class="sect5">
-<h6 id="_description_574">Description</h6>
+<h6 id="_description_589">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  search?query=000000001   search?query=Petra&amp;resource=clients,groups   search?query=Petra&amp;resource=clients,groups&amp;exactMatch=true</p>
 </div>
@@ -65566,7 +68511,7 @@
 <p>Create new Transfer</p>
 </div>
 <div class="sect5">
-<h6 id="_description_575">Description</h6>
+<h6 id="_description_590">Description</h6>
 <div class="paragraph">
 <p>Ability to create new transfer of monetary funds from one account to another.   Example Requests:   self/accounttransfers/</p>
 </div>
@@ -65694,7 +68639,7 @@
 <p>Retrieve Account Transfer Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_576">Description</h6>
+<h6 id="_description_591">Description</h6>
 <div class="paragraph">
 <p>Returns list of loan/savings accounts that can be used for account transfer   Example Requests:  self/accounttransfers/template</p>
 </div>
@@ -65795,7 +68740,7 @@
 <p>Verify authentication</p>
 </div>
 <div class="sect5">
-<h6 id="_description_577">Description</h6>
+<h6 id="_description_592">Description</h6>
 <div class="paragraph">
 <p>Authenticates the credentials provided and returns the set roles and permissions allowed.  Please visit this link for more info - <a href="https://fineract.apache.org/legacy-docs/apiLive.htm#selfbasicauth" class="bare">fineract.apache.org/legacy-docs/apiLive.htm#selfbasicauth</a></p>
 </div>
@@ -65893,7 +68838,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_578">Description</h6>
+<h6 id="_description_593">Description</h6>
 
 </div>
 <div class="sect5">
@@ -66060,7 +69005,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_579">Description</h6>
+<h6 id="_description_594">Description</h6>
 
 </div>
 <div class="sect5">
@@ -66156,7 +69101,7 @@
 <p>List Clients associated to the user</p>
 </div>
 <div class="sect5">
-<h6 id="_description_580">Description</h6>
+<h6 id="_description_595">Description</h6>
 <div class="paragraph">
 <p>The list capability of clients can support pagination and sorting.  Example Requests:  self/clients  self/clients?fields=displayName,officeName  self/clients?offset=10&amp;limit=50  self/clients?orderBy=displayName&amp;sortOrder=DESC</p>
 </div>
@@ -66303,7 +69248,7 @@
 <p>List Client Charges</p>
 </div>
 <div class="sect5">
-<h6 id="_description_581">Description</h6>
+<h6 id="_description_596">Description</h6>
 <div class="paragraph">
 <p>The list capability of client charges supports pagination.  Example Requests:  self/clients/1/charges  self/clients/1/charges?offset=0&amp;limit=5</p>
 </div>
@@ -66452,7 +69397,7 @@
 <p>List Client Transactions</p>
 </div>
 <div class="sect5">
-<h6 id="_description_582">Description</h6>
+<h6 id="_description_597">Description</h6>
 <div class="paragraph">
 <p>The list capability of client transaction can support pagination.  Example Requests:  self/clients/189/transactions  self/clients/189/transactions?offset=10&amp;limit=50</p>
 </div>
@@ -66587,7 +69532,7 @@
 <p>Retrieve client accounts overview</p>
 </div>
 <div class="sect5">
-<h6 id="_description_583">Description</h6>
+<h6 id="_description_598">Description</h6>
 <div class="paragraph">
 <p>An example of how a loan portfolio summary can be provided. This is requested in a specific use case of the community application. It is quite reasonable to add resources like this to simplify User Interface development.  Example Requests:  self/clients/1/accounts   self/clients/1/accounts?fields=loanAccounts,savingsAccounts</p>
 </div>
@@ -66685,7 +69630,7 @@
 <p>Retrieve a Client Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_584">Description</h6>
+<h6 id="_description_599">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Client Charge  Example Requests:  self/clients/1/charges/1   self/clients/1/charges/1?fields=name,id</p>
 </div>
@@ -66790,7 +69735,7 @@
 <p>Retrieve a Client Transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_585">Description</h6>
+<h6 id="_description_600">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Client TransactionExample Requests:  self/clients/1/transactions/1   self/clients/1/transactions/1?fields=id,officeName</p>
 </div>
@@ -66895,7 +69840,7 @@
 <p>Retrieve Client Image</p>
 </div>
 <div class="sect5">
-<h6 id="_description_586">Description</h6>
+<h6 id="_description_601">Description</h6>
 <div class="paragraph">
 <p>Optional arguments are identical to those of Get Image associated with an Entity (Binary file)  Example Requests:  self/clients/1/images</p>
 </div>
@@ -67024,7 +69969,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_587">Description</h6>
+<h6 id="_description_602">Description</h6>
 
 </div>
 <div class="sect5">
@@ -67120,7 +70065,7 @@
 <p>Retrieve a Client</p>
 </div>
 <div class="sect5">
-<h6 id="_description_588">Description</h6>
+<h6 id="_description_603">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Client  Example Requests:  self/clients/1  self/clients/1?fields=id,displayName,officeName</p>
 </div>
@@ -67218,7 +70163,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_589">Description</h6>
+<h6 id="_description_604">Description</h6>
 
 </div>
 <div class="sect5">
@@ -67341,7 +70286,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_590">Description</h6>
+<h6 id="_description_605">Description</h6>
 
 </div>
 <div class="sect5">
@@ -67441,7 +70386,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_591">Description</h6>
+<h6 id="_description_606">Description</h6>
 
 </div>
 <div class="sect5">
@@ -67592,7 +70537,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_592">Description</h6>
+<h6 id="_description_607">Description</h6>
 
 </div>
 <div class="sect5">
@@ -67750,7 +70695,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_593">Description</h6>
+<h6 id="_description_608">Description</h6>
 
 </div>
 <div class="sect5">
@@ -67913,7 +70858,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_594">Description</h6>
+<h6 id="_description_609">Description</h6>
 
 </div>
 <div class="sect5">
@@ -68006,7 +70951,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_595">Description</h6>
+<h6 id="_description_610">Description</h6>
 
 </div>
 <div class="sect5">
@@ -68135,7 +71080,7 @@
 <p>Calculate Loan Repayment Schedule | Submit a new Loan Application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_596">Description</h6>
+<h6 id="_description_611">Description</h6>
 <div class="paragraph">
 <p>Calculate Loan Repayment Schedule:  Calculates Loan Repayment Schedule  Mandatory Fields: productId, principal, loanTermFrequency, loanTermFrequencyType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, expectedDisbursementDate, transactionProcessingStrategyId  Submit a new Loan Application:  Mandatory Fields: clientId, productId, principal, loanTermFrequency, loanTermFrequencyType, loanType, numberOfRepayments, repaymentEvery, repaymentFrequencyType, interestRatePerPeriod, amortizationType, interestType, interestCalculationPeriodType, transactionProcessingStrategyId, expectedDisbursementDate, submittedOnDate, loanType  Additional Mandatory Fields if interest recalculation is enabled for product and Rest frequency not same as repayment period: recalculationRestFrequencyDate  Additional Mandatory Fields if interest recalculation with interest/fee compounding is enabled for product and compounding frequency not same as repayment period: recalculationCompoundingFrequencyDate  Additional Mandatory Field if Entity-Datatable Check is enabled for the entity of type loan: datatables  Optional Fields: graceOnPrincipalPayment, graceOnInterestPayment, graceOnInterestCharged, linkAccountId, allowPartialPeriodInterestCalcualtion, fixedEmiAmount, maxOutstandingLoanBalance, disbursementData, graceOnArrearsAgeing, createStandingInstructionAtDisbursement (requires linkedAccountId if set to true)  Showing request/response for 'Submit a new Loan Application'</p>
 </div>
@@ -68263,7 +71208,7 @@
 <p>Update a Loan Application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_597">Description</h6>
+<h6 id="_description_612">Description</h6>
 <div class="paragraph">
 <p>Loan application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method.</p>
 </div>
@@ -68391,7 +71336,7 @@
 <p>List Loan Charges</p>
 </div>
 <div class="sect5">
-<h6 id="_description_598">Description</h6>
+<h6 id="_description_613">Description</h6>
 <div class="paragraph">
 <p>Lists loan Charges  Example Requests:  self/loans/1/charges   self/loans/1/charges?fields=name,amountOrPercentage</p>
 </div>
@@ -68486,7 +71431,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_599">Description</h6>
+<h6 id="_description_614">Description</h6>
 
 </div>
 <div class="sect5">
@@ -68582,7 +71527,7 @@
 <p>Retrieve a Loan</p>
 </div>
 <div class="sect5">
-<h6 id="_description_600">Description</h6>
+<h6 id="_description_615">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Loan  Example Requests:  self/loans/1   self/loans/1?fields=id,principal,annualInterestRate   self/loans/1?fields=id,principal,annualInterestRate&amp;associations=repaymentSchedule,transactions</p>
 </div>
@@ -68680,7 +71625,7 @@
 <p>Retrieve a Loan Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_601">Description</h6>
+<h6 id="_description_616">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Loan Charge  Example Requests:  self/loans/1/charges/1   self/loans/1/charges/1?fields=name,amountOrPercentage</p>
 </div>
@@ -68785,7 +71730,7 @@
 <p>Retrieve a Loan Transaction Details</p>
 </div>
 <div class="sect5">
-<h6 id="_description_602">Description</h6>
+<h6 id="_description_617">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Loan Transaction DetailsExample Request:  self/loans/5/transactions/3</p>
 </div>
@@ -68890,7 +71835,7 @@
 <p>Applicant Withdraws from Loan Application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_603">Description</h6>
+<h6 id="_description_618">Description</h6>
 <div class="paragraph">
 <p>Applicant Withdraws from Loan Application  Mandatory Fields: withdrawnOnDate</p>
 </div>
@@ -69048,7 +71993,7 @@
 <p>Retrieve Loan Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_604">Description</h6>
+<h6 id="_description_619">Description</h6>
 <div class="paragraph">
 <p>Retrieves Loan Details Template  This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists  Example Requests:  self/loans/template?templateType=individual&amp;clientId=1   self/loans/template?templateType=individual&amp;clientId=1&amp;productId=1</p>
 </div>
@@ -69163,7 +72108,7 @@
 <p>Running A Report</p>
 </div>
 <div class="sect5">
-<h6 id="_description_605">Description</h6>
+<h6 id="_description_620">Description</h6>
 <div class="paragraph">
 <p>Example Requests:   self/runreports/Client%20Details?R_officeId=1   self/runreports/Client%20Details?R_officeId=1&amp;exportCSV=true</p>
 </div>
@@ -69273,7 +72218,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_606">Description</h6>
+<h6 id="_description_621">Description</h6>
 
 </div>
 <div class="sect5">
@@ -69429,7 +72374,7 @@
 <p>List Savings Charges</p>
 </div>
 <div class="sect5">
-<h6 id="_description_607">Description</h6>
+<h6 id="_description_622">Description</h6>
 <div class="paragraph">
 <p>Lists Savings Charges  Example Requests:  self/savingsaccounts/1/charges  self/savingsaccounts/1/charges?chargeStatus=inactive  self/savingsaccounts/1/charges?fields=name,amountOrPercentage</p>
 </div>
@@ -69557,7 +72502,7 @@
 <p>Retrieve a savings account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_608">Description</h6>
+<h6 id="_description_623">Description</h6>
 <div class="paragraph">
 <p>Retrieves a savings account  Example Requests :  self/savingsaccounts/1   self/savingsaccounts/1?associations=transactions</p>
 </div>
@@ -69685,7 +72630,7 @@
 <p>Retrieve a Savings account Charge</p>
 </div>
 <div class="sect5">
-<h6 id="_description_609">Description</h6>
+<h6 id="_description_624">Description</h6>
 <div class="paragraph">
 <p>Retrieves a Savings account Charge  Example Requests:  self/savingsaccounts/1/charges/5   self/savingsaccounts/1/charges/5?fields=name,amountOrPercentage</p>
 </div>
@@ -69790,7 +72735,7 @@
 <p>Retrieve Savings Account Transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_610">Description</h6>
+<h6 id="_description_625">Description</h6>
 <div class="paragraph">
 <p>Retrieves Savings Account Transaction  Example Requests:  self/savingsaccounts/1/transactions/1</p>
 </div>
@@ -69892,7 +72837,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_611">Description</h6>
+<h6 id="_description_626">Description</h6>
 
 </div>
 <div class="sect5">
@@ -70015,7 +72960,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_612">Description</h6>
+<h6 id="_description_627">Description</h6>
 
 </div>
 <div class="sect5">
@@ -70118,7 +73063,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_613">Description</h6>
+<h6 id="_description_628">Description</h6>
 
 </div>
 <div class="sect5">
@@ -70211,7 +73156,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_614">Description</h6>
+<h6 id="_description_629">Description</h6>
 
 </div>
 <div class="sect5">
@@ -70337,7 +73282,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_615">Description</h6>
+<h6 id="_description_630">Description</h6>
 
 </div>
 <div class="sect5">
@@ -70460,7 +73405,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_616">Description</h6>
+<h6 id="_description_631">Description</h6>
 
 </div>
 <div class="sect5">
@@ -70556,7 +73501,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_617">Description</h6>
+<h6 id="_description_632">Description</h6>
 
 </div>
 <div class="sect5">
@@ -70649,7 +73594,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_618">Description</h6>
+<h6 id="_description_633">Description</h6>
 
 </div>
 <div class="sect5">
@@ -70748,7 +73693,7 @@
 <p>Submit new share application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_619">Description</h6>
+<h6 id="_description_634">Description</h6>
 <div class="paragraph">
 <p>Mandatory fields:  clientId, productId, submittedDate, savingsAccountId, requestedShares, applicationDate   Optional Fields  accountNo, externalId   Inherited from Product (if not provided)  minimumActivePeriod, minimumActivePeriodFrequencyType, lockinPeriodFrequency, lockinPeriodFrequencyType.</p>
 </div>
@@ -70846,7 +73791,7 @@
 <p>Retrieve a share application/account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_620">Description</h6>
+<h6 id="_description_635">Description</h6>
 <div class="literalblock">
 <div class="content">
 <pre>Example Requests:  self/shareaccounts/12</pre>
@@ -70946,7 +73891,7 @@
 <p>Retrieve Share Account Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_621">Description</h6>
+<h6 id="_description_636">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of: Field Defaults  Allowed Value Lists   Arguments  clientId:Integer mandatory productId:Integer optionalIf entered, productId, productName and selectedProduct fields are returned. Example Requests:  self/shareaccounts/template?clientId=14  self/shareaccounts/template?clientId=14&amp;productId=3</p>
 </div>
@@ -71051,7 +73996,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_622">Description</h6>
+<h6 id="_description_637">Description</h6>
 
 </div>
 <div class="sect5">
@@ -71158,7 +74103,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_623">Description</h6>
+<h6 id="_description_638">Description</h6>
 
 </div>
 <div class="sect5">
@@ -71291,7 +74236,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_624">Description</h6>
+<h6 id="_description_639">Description</h6>
 
 </div>
 <div class="sect5">
@@ -71361,7 +74306,7 @@
 <p>Add TPT Beneficiary</p>
 </div>
 <div class="sect5">
-<h6 id="_description_625">Description</h6>
+<h6 id="_description_640">Description</h6>
 <div class="paragraph">
 <p>Api to add third party beneficiary linked to current user.  Parameter Definitions  name : Nick name for beneficiary, should be unique for an self service user  officeName : Office Name of beneficiary(not id)  accountNumber : Account Number of beneficiary(not id)  transferLimit : Each transfer initiated to this account will not exceed this amount  Example Requests:  /self/beneficiaries/tpt  Mandatory Fields: name, officeName, accountNumber, accountType  Optional Fields: transferLimit</p>
 </div>
@@ -71459,7 +74404,7 @@
 <p>Delete TPT Beneficiary</p>
 </div>
 <div class="sect5">
-<h6 id="_description_626">Description</h6>
+<h6 id="_description_641">Description</h6>
 <div class="paragraph">
 <p>Api to delete third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt/{beneficiaryId}</p>
 </div>
@@ -71557,7 +74502,7 @@
 <p>Get All TPT Beneficiary</p>
 </div>
 <div class="sect5">
-<h6 id="_description_627">Description</h6>
+<h6 id="_description_642">Description</h6>
 <div class="paragraph">
 <p>Api to get all third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt</p>
 </div>
@@ -71626,7 +74571,7 @@
 <p>Beneficiary Third Party Transfer Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_628">Description</h6>
+<h6 id="_description_643">Description</h6>
 <div class="paragraph">
 <p>Returns Account Type enumerations. Self User is expected to know office name and account number to be able to add beneficiary.  Example Requests:  /self/beneficiaries/tpt/template</p>
 </div>
@@ -71695,7 +74640,7 @@
 <p>Update TPT Beneficiary</p>
 </div>
 <div class="sect5">
-<h6 id="_description_629">Description</h6>
+<h6 id="_description_644">Description</h6>
 <div class="paragraph">
 <p>Api to update third party beneficiary linked to current user.  Example Requests:  /self/beneficiaries/tpt/{beneficiaryId}  Optional Fields: name, transferLimit</p>
 </div>
@@ -71826,7 +74771,7 @@
 <p>Update User</p>
 </div>
 <div class="sect5">
-<h6 id="_description_630">Description</h6>
+<h6 id="_description_645">Description</h6>
 <div class="paragraph">
 <p>This API can be used by Self Service user to update their own user information. Currently, \"password\" and \"repeatPassword\" are the only parameters accepted.</p>
 </div>
@@ -71927,7 +74872,7 @@
 <p>Fetch authenticated user details</p>
 </div>
 <div class="sect5">
-<h6 id="_description_631">Description</h6>
+<h6 id="_description_646">Description</h6>
 <div class="paragraph">
 <p>Checks the Authentication and returns the set roles and permissions allowed  For more info visit this link - <a href="https://fineract.apache.org/legacy-docs/apiLive.htm#selfoauth" class="bare">fineract.apache.org/legacy-docs/apiLive.htm#selfoauth</a></p>
 </div>
@@ -71999,7 +74944,7 @@
 <p>Submit new share application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_632">Description</h6>
+<h6 id="_description_647">Description</h6>
 <div class="paragraph">
 <p>Submits new share application  Mandatory Fields: clientId, productId, submittedDate, savingsAccountId, requestedShares, applicationDate  Optional Fields: accountNo, externalId  Inherited from Product (if not provided): minimumActivePeriod, minimumActivePeriodFrequencyType, lockinPeriodFrequency, lockinPeriodFrequencyType</p>
 </div>
@@ -72124,7 +75069,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_633">Description</h6>
+<h6 id="_description_648">Description</h6>
 
 </div>
 <div class="sect5">
@@ -72257,7 +75202,7 @@
 <p>Approve share application | Undo approval share application | Reject share application | Activate a share account | Close a share account | Apply additional shares on a share account | Approve additional shares request on a share account | Reject additional shares request on a share account | Redeem shares on a share account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_634">Description</h6>
+<h6 id="_description_649">Description</h6>
 <div class="paragraph">
 <p>Approve share application:  Approves share application so long as its in 'Submitted and pending approval' state.  Undo approval share application:  Will move 'approved' share application back to 'Submitted and pending approval' state.  Reject share application:  Rejects share application so long as its in 'Submitted and pending approval' state.  Activate a share account:  Results in an approved share application being converted into an 'active' share account.  Close a share account:  Results in an Activated share application being converted into an 'closed' share account.  closedDate is closure date of share account  Mandatory Fields: dateFormat,locale,closedDate  Apply additional shares on a share account:  requestedDate is requsted date of share purchase  requestedShares is number of shares to be purchase  Mandatory Fields: dateFormat,locale,requestedDate, requestedShares  Approve additional shares request on a share account  requestedShares is Share purchase transaction ids  Mandatory Fields: requestedShares  Reject additional shares request on a share account:  requestedShares is Share purchase transaction ids  Mandatory Fields: requestedShares  Redeem shares on a share account:  Results redeem some/all shares from share account.  requestedDate is requsted date of shares redeem  requestedShares is number of shares to be redeemed  Mandatory Fields: dateFormat,locale,requestedDate,requestedShares  Showing request/response for 'Reject additional shares request on a share account'  For more info visit this link - <a href="https://fineract.apache.org/legacy-docs/apiLive.htm#shareaccounts" class="bare">fineract.apache.org/legacy-docs/apiLive.htm#shareaccounts</a></p>
 </div>
@@ -72419,7 +75364,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_635">Description</h6>
+<h6 id="_description_650">Description</h6>
 
 </div>
 <div class="sect5">
@@ -72559,7 +75504,7 @@
 <p>Retrieve a share application/account</p>
 </div>
 <div class="sect5">
-<h6 id="_description_636">Description</h6>
+<h6 id="_description_651">Description</h6>
 <div class="paragraph">
 <p>Retrieves a share application/account  Example Requests :  shareaccount/1</p>
 </div>
@@ -72664,7 +75609,7 @@
 <p>List share applications/accounts</p>
 </div>
 <div class="sect5">
-<h6 id="_description_637">Description</h6>
+<h6 id="_description_652">Description</h6>
 <div class="paragraph">
 <p>Lists share applications/accounts  Example Requests:  shareaccount</p>
 </div>
@@ -72799,7 +75744,7 @@
 <p>Retrieve Share Account Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_638">Description</h6>
+<h6 id="_description_653">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists  Example Requests:  accounts/share/template?clientId=1   accounts/share/template?clientId=1&amp;productId=1</p>
 </div>
@@ -72934,7 +75879,7 @@
 <p>Modify a share application</p>
 </div>
 <div class="sect5">
-<h6 id="_description_639">Description</h6>
+<h6 id="_description_654">Description</h6>
 <div class="paragraph">
 <p>Share application can only be modified when in 'Submitted and pending approval' state. Once the application is approved, the details cannot be changed using this method. Specific api endpoints will be created to allow change of interest detail such as rate, compounding period, posting period etc</p>
 </div>
@@ -73072,7 +76017,7 @@
 <p>Deactivate Survey</p>
 </div>
 <div class="sect5">
-<h6 id="_description_640">Description</h6>
+<h6 id="_description_655">Description</h6>
 
 </div>
 <div class="sect5">
@@ -73188,7 +76133,7 @@
 <p>Create a Survey</p>
 </div>
 <div class="sect5">
-<h6 id="_description_641">Description</h6>
+<h6 id="_description_656">Description</h6>
 <div class="paragraph">
 <p>Adds a new survey to collect client related data.  Mandatory Fields  countryCode, key, name, questions, responses, sequenceNo, text, description</p>
 </div>
@@ -73273,7 +76218,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_642">Description</h6>
+<h6 id="_description_657">Description</h6>
 
 </div>
 <div class="sect5">
@@ -73399,7 +76344,7 @@
 <p>List all Surveys</p>
 </div>
 <div class="sect5">
-<h6 id="_description_643">Description</h6>
+<h6 id="_description_658">Description</h6>
 
 </div>
 <div class="sect5">
@@ -73495,7 +76440,7 @@
 <p>Retrieve a Survey</p>
 </div>
 <div class="sect5">
-<h6 id="_description_644">Description</h6>
+<h6 id="_description_659">Description</h6>
 
 </div>
 <div class="sect5">
@@ -73594,7 +76539,7 @@
 <p>Create a staff member</p>
 </div>
 <div class="sect5">
-<h6 id="_description_645">Description</h6>
+<h6 id="_description_660">Description</h6>
 <div class="paragraph">
 <p>Creates a staff member.  Mandatory Fields:  officeId, firstname, lastname  Optional Fields:  isLoanOfficer, isActive</p>
 </div>
@@ -73689,7 +76634,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_646">Description</h6>
+<h6 id="_description_661">Description</h6>
 
 </div>
 <div class="sect5">
@@ -73789,7 +76734,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_647">Description</h6>
+<h6 id="_description_662">Description</h6>
 
 </div>
 <div class="sect5">
@@ -73899,7 +76844,7 @@
 <p>Retrieve Staff</p>
 </div>
 <div class="sect5">
-<h6 id="_description_648">Description</h6>
+<h6 id="_description_663">Description</h6>
 <div class="paragraph">
 <p>Returns the list of staff members.  Example Requests:  staff     Retrieve a Staff by status  Returns the details of a Staff based on status.  By default it Returns all the ACTIVE Staff.  If status=INACTIVE, then it returns all INACTIVE Staff.  and for status=ALL, it Returns both ACTIVE and INACTIVE Staff.  Example Requests:  staff?status=active</p>
 </div>
@@ -74018,7 +76963,7 @@
 <p>Retrieve a Staff Member</p>
 </div>
 <div class="sect5">
-<h6 id="_description_649">Description</h6>
+<h6 id="_description_664">Description</h6>
 <div class="paragraph">
 <p>Returns the details of a Staff Member.  Example Requests:  staff/1</p>
 </div>
@@ -74116,7 +77061,7 @@
 <p>Update a Staff Member</p>
 </div>
 <div class="sect5">
-<h6 id="_description_650">Description</h6>
+<h6 id="_description_665">Description</h6>
 <div class="paragraph">
 <p>Updates the details of a staff member.</p>
 </div>
@@ -74247,7 +77192,7 @@
 <p>Create new Standing Instruction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_651">Description</h6>
+<h6 id="_description_666">Description</h6>
 <div class="paragraph">
 <p>Ability to create new instruction for transfer of monetary funds from one account to another</p>
 </div>
@@ -74345,7 +77290,7 @@
 <p>List Standing Instructions</p>
 </div>
 <div class="sect5">
-<h6 id="_description_652">Description</h6>
+<h6 id="_description_667">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  standinginstructions</p>
 </div>
@@ -74513,7 +77458,7 @@
 <p>Retrieve Standing Instruction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_653">Description</h6>
+<h6 id="_description_668">Description</h6>
 <div class="paragraph">
 <p>Example Requests :  standinginstructions/1</p>
 </div>
@@ -74676,7 +77621,7 @@
 <p>Retrieve Standing Instruction Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_654">Description</h6>
+<h6 id="_description_669">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed Value Lists Example Requests:  standinginstructions/template?fromAccountType=2&amp;fromOfficeId=1  standinginstructions/template?fromAccountType=2&amp;fromOfficeId=1&amp;fromClientId=1&amp;transferType=1  standinginstructions/template?fromClientId=1&amp;fromAccountType=2&amp;fromAccountId=1&amp;transferType=1</p>
 </div>
@@ -74830,7 +77775,7 @@
 <p>Update Standing Instruction | Delete Standing Instruction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_655">Description</h6>
+<h6 id="_description_670">Description</h6>
 <div class="paragraph">
 <p>Ability to modify existing instruction for transfer of monetary funds from one account to another.  PUT <a href="https://DomainName/api/v1/standinginstructions/1?command=update" class="bare">DomainName/api/v1/standinginstructions/1?command=update</a>   Ability to modify existing instruction for transfer of monetary funds from one account to another.  PUT <a href="https://DomainName/api/v1/standinginstructions/1?command=delete" class="bare">DomainName/api/v1/standinginstructions/1?command=delete</a></p>
 </div>
@@ -74991,7 +77936,7 @@
 <p>Standing Instructions Logged History</p>
 </div>
 <div class="sect5">
-<h6 id="_description_656">Description</h6>
+<h6 id="_description_671">Description</h6>
 <div class="paragraph">
 <p>The list capability of history can support pagination and sorting   Example Requests :  standinginstructionrunhistory  standinginstructionrunhistory?orderBy=name&amp;sortOrder=DESC  standinginstructionrunhistory?offset=10&amp;limit=50</p>
 </div>
@@ -75190,7 +78135,7 @@
 <p>Create an entry in the survey table</p>
 </div>
 <div class="sect5">
-<h6 id="_description_657">Description</h6>
+<h6 id="_description_672">Description</h6>
 <div class="paragraph">
 <p>Insert and entry in a survey table (full fill the survey).  Refer Link for sample Body:  [ <a href="https://fineract.apache.org/legacy-docs/apiLive.htm#survey_create" class="bare">fineract.apache.org/legacy-docs/apiLive.htm#survey_create</a> ]</p>
 </div>
@@ -75322,7 +78267,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_658">Description</h6>
+<h6 id="_description_673">Description</h6>
 
 </div>
 <div class="sect5">
@@ -75429,7 +78374,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_659">Description</h6>
+<h6 id="_description_674">Description</h6>
 
 </div>
 <div class="sect5">
@@ -75529,7 +78474,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_660">Description</h6>
+<h6 id="_description_675">Description</h6>
 
 </div>
 <div class="sect5">
@@ -75636,7 +78581,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_661">Description</h6>
+<h6 id="_description_676">Description</h6>
 
 </div>
 <div class="sect5">
@@ -75769,7 +78714,7 @@
 <p>Retrieve survey</p>
 </div>
 <div class="sect5">
-<h6 id="_description_662">Description</h6>
+<h6 id="_description_677">Description</h6>
 <div class="paragraph">
 <p>Lists a registered survey table details and the Apache Fineract Core application table they are registered to.</p>
 </div>
@@ -75867,7 +78812,7 @@
 <p>Retrieve surveys</p>
 </div>
 <div class="sect5">
-<h6 id="_description_663">Description</h6>
+<h6 id="_description_678">Description</h6>
 <div class="paragraph">
 <p>Retrieve surveys. This allows to retrieve the list of survey tables registered .</p>
 </div>
@@ -75939,7 +78884,7 @@
 <p>Create a new Tax Component</p>
 </div>
 <div class="sect5">
-<h6 id="_description_664">Description</h6>
+<h6 id="_description_679">Description</h6>
 <div class="paragraph">
 <p>Creates a new Tax Component  Mandatory Fields: name, percentage  Optional Fields: debitAccountType, debitAcountId, creditAccountType, creditAcountId, startDate</p>
 </div>
@@ -76037,7 +78982,7 @@
 <p>List Tax Components</p>
 </div>
 <div class="sect5">
-<h6 id="_description_665">Description</h6>
+<h6 id="_description_680">Description</h6>
 <div class="paragraph">
 <p>List Tax Components</p>
 </div>
@@ -76106,7 +79051,7 @@
 <p>Retrieve Tax Component</p>
 </div>
 <div class="sect5">
-<h6 id="_description_666">Description</h6>
+<h6 id="_description_681">Description</h6>
 <div class="paragraph">
 <p>Retrieve Tax Component</p>
 </div>
@@ -76201,7 +79146,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_667">Description</h6>
+<h6 id="_description_682">Description</h6>
 
 </div>
 <div class="sect5">
@@ -76268,7 +79213,7 @@
 <p>Update Tax Component</p>
 </div>
 <div class="sect5">
-<h6 id="_description_668">Description</h6>
+<h6 id="_description_683">Description</h6>
 <div class="paragraph">
 <p>Updates Tax component. Debit and credit account details cannot be modified. All the future tax components would be replaced with the new percentage.</p>
 </div>
@@ -76399,7 +79344,7 @@
 <p>Create a new Tax Group</p>
 </div>
 <div class="sect5">
-<h6 id="_description_669">Description</h6>
+<h6 id="_description_684">Description</h6>
 <div class="paragraph">
 <p>Create a new Tax Group Mandatory Fields: name and taxComponents Mandatory Fields in taxComponents: taxComponentId Optional Fields in taxComponents: id, startDate and endDate</p>
 </div>
@@ -76497,7 +79442,7 @@
 <p>List Tax Group</p>
 </div>
 <div class="sect5">
-<h6 id="_description_670">Description</h6>
+<h6 id="_description_685">Description</h6>
 <div class="paragraph">
 <p>List Tax Group</p>
 </div>
@@ -76566,7 +79511,7 @@
 <p>Retrieve Tax Group</p>
 </div>
 <div class="sect5">
-<h6 id="_description_671">Description</h6>
+<h6 id="_description_686">Description</h6>
 <div class="paragraph">
 <p>Retrieve Tax Group</p>
 </div>
@@ -76661,7 +79606,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_672">Description</h6>
+<h6 id="_description_687">Description</h6>
 
 </div>
 <div class="sect5">
@@ -76728,7 +79673,7 @@
 <p>Update Tax Group</p>
 </div>
 <div class="sect5">
-<h6 id="_description_673">Description</h6>
+<h6 id="_description_688">Description</h6>
 <div class="paragraph">
 <p>Updates Tax Group. Only end date can be up-datable and can insert new tax components.</p>
 </div>
@@ -76859,7 +79804,7 @@
 <p>Allocate Cash To Cashier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_674">Description</h6>
+<h6 id="_description_689">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields:  Date, Amount, Currency, Notes/Comments</p>
 </div>
@@ -76994,7 +79939,7 @@
 <p>Create Cashiers</p>
 </div>
 <div class="sect5">
-<h6 id="_description_675">Description</h6>
+<h6 id="_description_690">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields:  Cashier/staff, Fromm Date, To Date, Full Day or From time and To time    Optional Fields:  Description/Notes</p>
 </div>
@@ -77122,7 +80067,7 @@
 <p>Create teller</p>
 </div>
 <div class="sect5">
-<h6 id="_description_676">Description</h6>
+<h6 id="_description_691">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields Teller name, OfficeId, Description, Start Date, Status Optional Fields End Date</p>
 </div>
@@ -77220,7 +80165,7 @@
 <p>Delete Cashier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_677">Description</h6>
+<h6 id="_description_692">Description</h6>
 
 </div>
 <div class="sect5">
@@ -77320,7 +80265,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_678">Description</h6>
+<h6 id="_description_693">Description</h6>
 
 </div>
 <div class="sect5">
@@ -77416,7 +80361,7 @@
 <p>Retrieve a cashier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_679">Description</h6>
+<h6 id="_description_694">Description</h6>
 
 </div>
 <div class="sect5">
@@ -77519,7 +80464,7 @@
 <p>Retrieve tellers</p>
 </div>
 <div class="sect5">
-<h6 id="_description_680">Description</h6>
+<h6 id="_description_695">Description</h6>
 
 </div>
 <div class="sect5">
@@ -77612,7 +80557,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_681">Description</h6>
+<h6 id="_description_696">Description</h6>
 
 </div>
 <div class="sect5">
@@ -77715,7 +80660,7 @@
 <p>List Cashiers</p>
 </div>
 <div class="sect5">
-<h6 id="_description_682">Description</h6>
+<h6 id="_description_697">Description</h6>
 
 </div>
 <div class="sect5">
@@ -77848,7 +80793,7 @@
 <p>Find Cashiers</p>
 </div>
 <div class="sect5">
-<h6 id="_description_683">Description</h6>
+<h6 id="_description_698">Description</h6>
 
 </div>
 <div class="sect5">
@@ -77944,7 +80889,7 @@
 <p>Retrieve Cashier Transaction Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_684">Description</h6>
+<h6 id="_description_699">Description</h6>
 
 </div>
 <div class="sect5">
@@ -78044,7 +80989,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_685">Description</h6>
+<h6 id="_description_700">Description</h6>
 
 </div>
 <div class="sect5">
@@ -78177,7 +81122,7 @@
 <p>List all tellers</p>
 </div>
 <div class="sect5">
-<h6 id="_description_686">Description</h6>
+<h6 id="_description_701">Description</h6>
 <div class="paragraph">
 <p>Retrieves list tellers</p>
 </div>
@@ -78272,7 +81217,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_687">Description</h6>
+<h6 id="_description_702">Description</h6>
 
 </div>
 <div class="sect5">
@@ -78398,7 +81343,7 @@
 <p>Retrieve Cashier Transaction</p>
 </div>
 <div class="sect5">
-<h6 id="_description_688">Description</h6>
+<h6 id="_description_703">Description</h6>
 
 </div>
 <div class="sect5">
@@ -78559,7 +81504,7 @@
 <p>Transactions Wtih Summary For Cashier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_689">Description</h6>
+<h6 id="_description_704">Description</h6>
 
 </div>
 <div class="sect5">
@@ -78720,7 +81665,7 @@
 <p>Settle Cash From Cashier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_690">Description</h6>
+<h6 id="_description_705">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields Date, Amount, Currency, Notes/Comments</p>
 </div>
@@ -78855,7 +81800,7 @@
 <p>Update Cashier</p>
 </div>
 <div class="sect5">
-<h6 id="_description_691">Description</h6>
+<h6 id="_description_706">Description</h6>
 
 </div>
 <div class="sect5">
@@ -78988,7 +81933,7 @@
 <p>Update teller</p>
 </div>
 <div class="sect5">
-<h6 id="_description_692">Description</h6>
+<h6 id="_description_707">Description</h6>
 
 </div>
 <div class="sect5">
@@ -79114,7 +82059,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_693">Description</h6>
+<h6 id="_description_708">Description</h6>
 
 </div>
 <div class="sect5">
@@ -79178,7 +82123,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_694">Description</h6>
+<h6 id="_description_709">Description</h6>
 
 </div>
 <div class="sect5">
@@ -79278,7 +82223,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_695">Description</h6>
+<h6 id="_description_710">Description</h6>
 
 </div>
 <div class="sect5">
@@ -79371,7 +82316,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_696">Description</h6>
+<h6 id="_description_711">Description</h6>
 
 </div>
 <div class="sect5">
@@ -79470,7 +82415,7 @@
 <p>Add a UGD</p>
 </div>
 <div class="sect5">
-<h6 id="_description_697">Description</h6>
+<h6 id="_description_712">Description</h6>
 <div class="paragraph">
 <p>Adds a new UGD.  Mandatory Fields name    Example Requests:  templates/1</p>
 </div>
@@ -79568,7 +82513,7 @@
 <p>Delete a UGD</p>
 </div>
 <div class="sect5">
-<h6 id="_description_698">Description</h6>
+<h6 id="_description_713">Description</h6>
 
 </div>
 <div class="sect5">
@@ -79661,7 +82606,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_699">Description</h6>
+<h6 id="_description_714">Description</h6>
 
 </div>
 <div class="sect5">
@@ -79754,7 +82699,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_700">Description</h6>
+<h6 id="_description_715">Description</h6>
 
 </div>
 <div class="sect5">
@@ -79880,7 +82825,7 @@
 <p>Retrieve all UGDs</p>
 </div>
 <div class="sect5">
-<h6 id="_description_701">Description</h6>
+<h6 id="_description_716">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  templates  It is also possible to get specific UGDs by entity and type:  templates?type=0&amp;entity=0 [Entity: Id]      client: 0, loan: 1  [Type: Id]    Document: 0, E-Mail (not yet): 1,  SMS: 2</p>
 </div>
@@ -79985,7 +82930,7 @@
 <p>Retrieve a UGD</p>
 </div>
 <div class="sect5">
-<h6 id="_description_702">Description</h6>
+<h6 id="_description_717">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  templates/1</p>
 </div>
@@ -80083,7 +83028,7 @@
 <p>Update a UGD</p>
 </div>
 <div class="sect5">
-<h6 id="_description_703">Description</h6>
+<h6 id="_description_718">Description</h6>
 
 </div>
 <div class="sect5">
@@ -80209,7 +83154,7 @@
 <p>Retrieve UGD Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_704">Description</h6>
+<h6 id="_description_719">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for UGDs. The UGD data returned consists of any or all of:  ARGUMENTS name String entity String type String text String optional mappers Mapper optional Example Request:  templates/template</p>
 </div>
@@ -80281,7 +83226,7 @@
 <p>Create a User</p>
 </div>
 <div class="sect5">
-<h6 id="_description_705">Description</h6>
+<h6 id="_description_720">Description</h6>
 <div class="paragraph">
 <p>Adds new application user.  Note: Password information is not required (or processed). Password details at present are auto-generated and then sent to the email account given (which is why it can take a few seconds to complete).  Mandatory Fields:  username, firstname, lastname, email, officeId, roles, sendPasswordToEmail  Optional Fields:  staffId,passwordNeverExpires,isSelfServiceUser,clients</p>
 </div>
@@ -80379,7 +83324,7 @@
 <p>Delete a User</p>
 </div>
 <div class="sect5">
-<h6 id="_description_706">Description</h6>
+<h6 id="_description_721">Description</h6>
 <div class="paragraph">
 <p>Removes the user and the associated roles and permissions.</p>
 </div>
@@ -80474,7 +83419,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_707">Description</h6>
+<h6 id="_description_722">Description</h6>
 
 </div>
 <div class="sect5">
@@ -80581,7 +83526,7 @@
 </dl>
 </div>
 <div class="sect5">
-<h6 id="_description_708">Description</h6>
+<h6 id="_description_723">Description</h6>
 
 </div>
 <div class="sect5">
@@ -80691,7 +83636,7 @@
 <p>Retrieve list of users</p>
 </div>
 <div class="sect5">
-<h6 id="_description_709">Description</h6>
+<h6 id="_description_724">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  users   users?fields=id,username,email,officeName</p>
 </div>
@@ -80760,7 +83705,7 @@
 <p>Retrieve a User</p>
 </div>
 <div class="sect5">
-<h6 id="_description_710">Description</h6>
+<h6 id="_description_725">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  users/1   users/1?template=true   users/1?fields=username,officeName</p>
 </div>
@@ -80858,7 +83803,7 @@
 <p>Retrieve User Details Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_711">Description</h6>
+<h6 id="_description_726">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for client applications. The template data returned consists of any or all of:  Field Defaults Allowed description Lists Example Request:  users/template</p>
 </div>
@@ -80927,7 +83872,7 @@
 <p>Update a User</p>
 </div>
 <div class="sect5">
-<h6 id="_description_712">Description</h6>
+<h6 id="_description_727">Description</h6>
 <div class="paragraph">
 <p>When updating a password you must provide the repeatPassword parameter also.</p>
 </div>
@@ -81058,7 +84003,7 @@
 <p>List Working days</p>
 </div>
 <div class="sect5">
-<h6 id="_description_713">Description</h6>
+<h6 id="_description_728">Description</h6>
 <div class="paragraph">
 <p>Example Requests:  workingdays</p>
 </div>
@@ -81127,7 +84072,7 @@
 <p>Working Days Template</p>
 </div>
 <div class="sect5">
-<h6 id="_description_714">Description</h6>
+<h6 id="_description_729">Description</h6>
 <div class="paragraph">
 <p>This is a convenience resource. It can be useful when building maintenance user interface screens for working days.  Example Request:  workingdays/template</p>
 </div>
@@ -81196,7 +84141,7 @@
 <p>Update a Working Day</p>
 </div>
 <div class="sect5">
-<h6 id="_description_715">Description</h6>
+<h6 id="_description_730">Description</h6>
 <div class="paragraph">
 <p>Mandatory Fields recurrence,repaymentRescheduleType,extendTermForDailyRepayments,locale</p>
 </div>
@@ -153745,2585 +156690,6 @@
 </div>
 </div>
 <div class="sect1">
-<h2 id="_fineract_sdks">Fineract SDKs</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="sect2">
-<h3 id="_generate_apache_fineract_api_client">Generate Apache Fineract API Client</h3>
-<div class="paragraph">
-<p>Apache Fineract supports client code generation using <a href="https://openapi-generator.tech">OpenAPI Generator</a>. It uses <a href="https://swagger.io/specification/">OpenAPI Specification Version 3.0.3</a>.</p>
-</div>
-<div class="sect3">
-<h4 id="_fineract_sdk_java_api_client">Fineract SDK Java API Client</h4>
-<div class="paragraph">
-<p>The <code>fineract-client.jar</code> will eventually be available on Maven Central (watch <a href="https://issues.apache.org/jira/browse/FINERACT-1102">FINERACT-1102</a>). Until it is, you can quite easily build the latest and greatest version locally from source, see below.</p>
-</div>
-<div class="paragraph">
-<p>The <a href="https://github.com/apache/fineract/search?q=FineractClient.java"><code>FineractClient</code></a> is the entry point to the <em>Fineract SDK Java API Client</em>. <a href="https://github.com/apache/fineract/search?q=Calls.java"><code>Calls</code></a> is a convenient and recommended utility to simplify the use of the <a href="https://square.github.io/retrofit/2.x/retrofit/retrofit2/Call.html"><code>retrofit2.Call</code></a> type which all API operations return. This permits you to use the API like the <a href="https://github.com/search?l=&amp;q=repo%3Aapache%2Ffineract+filename%3AFineractClientDemo.java&amp;type=code"><code>FineractClientDemo</code></a> illustrates:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="java"><span class="keyword">import</span> <span class="include">org.apache.fineract.client.util.FineractClient</span>;
-<span class="keyword">import</span> <span class="include">static</span> <span class="include">org.apache.fineract.client.util.Calls.ok</span>;
-
-        FineractClient fineract = FineractClient.builder().baseURL(<span class="string"><span class="delimiter">&quot;</span><span class="content">https://demo.fineract.dev/fineract-provider/api/v1/</span><span class="delimiter">&quot;</span></span>).tenant(<span class="string"><span class="delimiter">&quot;</span><span class="content">default</span><span class="delimiter">&quot;</span></span>)
-                .basicAuth(<span class="string"><span class="delimiter">&quot;</span><span class="content">mifos</span><span class="delimiter">&quot;</span></span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">password</span><span class="delimiter">&quot;</span></span>).build();
-        <span class="predefined-type">List</span>&lt;RetrieveOneResponse&gt; staff = Calls.ok(fineract.staff.retrieveAll16(<span class="integer">1L</span>, <span class="predefined-constant">true</span>, <span class="predefined-constant">false</span>, <span class="string"><span class="delimiter">&quot;</span><span class="content">ACTIVE</span><span class="delimiter">&quot;</span></span>));
-        <span class="predefined-type">String</span> name = staff.get(<span class="integer">0</span>).getDisplayName();</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_generate_api_client">Generate API Client</h4>
-<div class="paragraph">
-<p>The API client is built as part of the standard overall Fineract Gradle build. The client JAR can be found in <code>fineract-client/build/libs</code> as <code>fineract-client.jar</code>.</p>
-</div>
-<div class="paragraph">
-<p>If you need to save time to incrementally work on making small changes to Swagger annotations in an IDE, you can execute e.g. the following line in root directory of the project to exclude non-require Gradle tasks:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="java">./gradlew -x compileJava -x compileTest -x spotlessJava -x enhance resolve prepareInputYaml :fineract-client:buildJavaSdk</code></pre>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_validate_openapi_spec_file">Validate OpenAPI Spec File</h4>
-<div class="paragraph">
-<p>The <code>resolve</code> task in <a href="https://github.com/apache/fineract/blob/develop/fineract-provider/build.gradle#L80">build.gradle</a> file will generate the OpenAPI Spec File for the project. To make sure Swagger Codegen generates a correct library, it is important for the OpenAPI Spec file to be valid. Validation is done automatically by the OpenAPI code generator Gradle plugin. If you still have problems during code generation please use <a href="https://validator.swagger.io/">Swagger OpenAPI Validator</a> to validate the spec file.</p>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_testing_2">Testing</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="sect2">
-<h3 id="testing-cucumber">Cucumber</h3>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="sect3">
-<h4 id="_introduction_2">Introduction</h4>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_tutorial">Tutorial</h4>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_cheatsheet">Cheatsheet</h4>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_unit_testing">Unit Testing</h3>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_integration_testing">Integration Testing</h3>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_fineract_documentation_guide">Fineract Documentation Guide</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="sect2">
-<h3 id="_file_and_folder_layout">File and Folder Layout</h3>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">The general rules are</dt>
-<dd>
-<div class="ulist">
-<ul>
-<li>
-<p>keep things as flat as possible (avoid sub-folders as much as possible)</p>
-</li>
-<li>
-<p>DRY (don&#8217;t repeat yourself): don&#8217;t copy and paste code pieces, use AsciiDoc&#8217;s include feature and reference files/-sections from the project folder</p>
-</li>
-<li>
-<p>images are located in <code>fineract-doc/src/docs/en/images</code> (or sub-folders)</p>
-</li>
-<li>
-<p>diagrams are located in <code>fineract-doc/src/docs/en/diagrams</code> (or sub-folders)</p>
-</li>
-<li>
-<p>specific chapters are located in <code>fineract-doc/src/docs/en/chapters</code></p>
-</li>
-<li>
-<p>every chapter has its own folder and at least one <code>index.adoc</code> file</p>
-</li>
-<li>
-<p>it&#8217;s recommended to keep the chapters flat (i. e. no sub-folders in the chapter folders)</p>
-</li>
-<li>
-<p>it&#8217;s recommended to create one file per chapter section; like that you can re-arrange sections very easily in the <code>index.adoc</code> file</p>
-</li>
-</ul>
-</div>
-</dd>
-</dl>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-These rules are not entirely set in stone and could be modified if necessary. If you see any issues then please report them on the <a href="mailto:dev@fineract.apache.org">mailing list</a> or <a href="https://issues.apache.org">open a Jira ticket</a>.
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_asciidoc">AsciiDoc</h3>
-<div class="sect3">
-<h4 id="_cheatsheet_2">Cheatsheet</h4>
-<div class="paragraph">
-<p>You can find the definitive manual on AsciiDoc syntax at <a href="https://docs.asciidoctor.org/asciidoc/latest">AsciiDoc documentation</a>. To help people get started, however, here is a simpler cheat sheet.</p>
-</div>
-<div class="sect4">
-<h5 id="_asciidoc_vs_asciidoctor_format_vs_tool">AsciiDoc vs Asciidoctor (format vs tool)</h5>
-<div class="paragraph">
-<p>When we refer to <em>AsciiDoc</em> then we mean the language or format that this documentation is written in. AsciiDoc is a markup language similar to Markdown (but more powerful and expressive) designed for technical documentation. You don&#8217;t need necessarily any specialized editors or tools to write your documentation in AsciiDoc, a plain text editor will do, but there are plenty of choices that give you a better experience (in this documentation we describe the basic usage with AsciiDoc plugins for IntelliJ, Eclipse and VSCode).</p>
-</div>
-<div class="paragraph">
-<p>Asciidoctor on the other hand is the command line tool we use to transform documents written in AsciiDoc into HTML and PDF (Epub3 and Docbook are also available). There are three variants available:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Asciidoctor (written in Ruby)</p>
-</li>
-<li>
-<p>Asciidoctor.js (written in JavaScript, often used for browser previews)</p>
-</li>
-<li>
-<p>AsciidoctorJ (Java lib that integrates the Ruby implementation via JRuby, e. g. the Asciidoctor Gradle plugin is based on that)</p>
-</li>
-</ul>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-Sometimes you will still find documentation related to the original incarnation of AsciiDoc/tor (written in Python). The format evolved quite a bit since then and the tools try to maintain a certain degree of backward compatibility, but there is no guarantee. We prefer to use the latest language specs as documented <a href="https://docs.asciidoctor.org/asciidoc/latest">here</a>.
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_basic_asciidoc_syntax">Basic AsciiDoc Syntax</h5>
-<div class="sect5">
-<h6 id="_bold">Bold</h6>
-<div class="paragraph">
-<p>Put asterisks around text to make it <strong>bold</strong>.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/text/bold" class="bare">docs.asciidoctor.org/asciidoc/latest/text/bold</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_italics">Italics</h6>
-<div class="paragraph">
-<p>Use underlines on either side of a string to put text into <em>italics</em>.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/text/italic" class="bare">docs.asciidoctor.org/asciidoc/latest/text/italic</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_headings">Headings</h6>
-<div class="paragraph">
-<p>Equal signs (<code>=</code>) are used for heading levels. Each equal sign is a level. Each page can <strong>only</strong> have one top level (i.e., only one section with a single <code>=</code>).</p>
-</div>
-<div class="paragraph">
-<p>Levels should be appropriately nested. During the build, validation occurs to ensure that level 3s are preceded by level 2s, level 4s are preceded by level 3s, etc. Including out-of-sequence heading levels (such as a level 3 then a level 5) will not fail the build, but will produce an error.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/sections/titles-and-levels/" class="bare">docs.asciidoctor.org/asciidoc/latest/sections/titles-and-levels/</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_code_examples">Code Examples</h5>
-<div class="paragraph">
-<p>Use backticks <code>`</code> for text that should be monospaced, such as code or a class name in the body of a paragraph.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/text/monospace/" class="bare">docs.asciidoctor.org/asciidoc/latest/text/monospace/</a>
-</td>
-</tr>
-</table>
-</div>
-<div class="paragraph">
-<p>Longer code examples can be separated from text with <code>source</code> blocks.<br>
-These allow defining the syntax being used so the code is properly highlighted.</p>
-</div>
-<div class="listingblock">
-<div class="title">Example Source Block</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">[source,xml]
-&lt;field name=&quot;id&quot; type=&quot;string&quot; indexed=&quot;true&quot; stored=&quot;true&quot; required=&quot;true&quot; multiValued=&quot;false&quot; /&gt;</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>If your code block will include line breaks, put 4 hyphens (<code>----</code>) before and after the entire block.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/verbatim/source-blocks/" class="bare">docs.asciidoctor.org/asciidoc/latest/verbatim/source-blocks/</a>
-</td>
-</tr>
-</table>
-</div>
-<div class="sect5">
-<h6 id="_source_block_syntax_highlighting">Source Block Syntax Highlighting</h6>
-<div class="paragraph">
-<p>The HTML output uses Rouge to add syntax highlighting to code examples. This is done by adding the language of the code block after the <code>source</code>, as shown in the above example source block (<code>xml</code> in that case).</p>
-</div>
-<div class="paragraph">
-<p>Rouge has a long selection of lexers available. You can see the full list at <a href="https://github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers" class="bare">github.com/rouge-ruby/rouge/wiki/List-of-supported-languages-and-lexers</a>. Use one of the valid short names to get syntax highlighting for that language.</p>
-</div>
-<div class="paragraph">
-<p>Ideally, we will have an appropriate lexer to use for all source blocks, but that&#8217;s not possible.<br>
-When in doubt, choose <code>text</code>, or leave it blank.</p>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_importing_code_snippets_from_other_files">Importing Code Snippets from Other Files</h6>
-<div class="paragraph">
-<p>The build system has the ability to "include" snippets located in other files&#8201;&#8212;&#8201;even non-AsciiDoc files such as <code>*.java</code> source code files.</p>
-</div>
-<div class="paragraph">
-<p>We&#8217;ve configured a global attribute called <code>{rootdir}</code> that you can use to reference these files consistently from Fineract&#8217;s project root folder.</p>
-</div>
-<div class="paragraph">
-<p>Snippets are bounded by <em>tag</em> comments placed at the start and end of the section you would like to import. Opening tags look like: <code>// tag::snippetName[]</code>. Closing tags follow the format: <code>// end::snippetName[]</code>.</p>
-</div>
-<div class="paragraph">
-<p>Snippets can be inserted into an <code>.adoc</code> file using an <code>include</code> directive, following the format: <code>include::{rootdir}/&lt;directory-under-root-folder&gt;/&lt;file-name&gt;[tag=snippetName]</code>.</p>
-</div>
-<div class="admonitionblock important">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-important" title="Important"></i>
-</td>
-<td class="content">
-You could also use relative paths to reference include files, but it is preferred to always use the root folder as a starting point. Like this you can be sure that the preview in your editor of choice works.
-</td>
-</tr>
-</table>
-</div>
-<div class="paragraph">
-<p>For example, if we wanted to highlight a specific section of the following Cucumber test definition (more on that in section Cucumber Testing) <code>ClasspathDuplicatesStepDefinitions.java</code> file located under <code>fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/</code>.</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">[source,java,indent=0]
-----
-include::{rootdir}/fineract-provider/src/test/java/org/apache/fineract/infrastructure/classpath/ClasspathDuplicatesStepDefinitions.java[tag=then]
-----</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>For more information on the <code>include</code> directive, see the documentation at <a href="https://docs.asciidoctor.org/asciidoc/latest/directives/include" class="bare">docs.asciidoctor.org/asciidoc/latest/directives/include</a>.</p>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_block_titles">Block Titles</h6>
-<div class="paragraph">
-<p>Titles can be added to most blocks (images, source blocks, tables, etc.) by simply prefacing the title with a period (<code>.</code>). For example, to add a title to the source block example above:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">.Example ID field
-[source,xml]
-&lt;field name=&quot;id&quot; type=&quot;string&quot; indexed=&quot;true&quot; stored=&quot;true&quot; required=&quot;true&quot; multiValued=&quot;false&quot; /&gt;</code></pre>
-</div>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/blocks/add-title" class="bare">docs.asciidoctor.org/asciidoc/latest/blocks/add-title</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_links">Links</h5>
-<div class="sect5">
-<h6 id="_link_to_sites_on_the_internet">Link to Sites on the Internet</h6>
-<div class="paragraph">
-<p>When converting content to HTML, Asciidoctor will automatically render many link types (such as <code>http:</code> and <code>mailto:</code>) without any additional syntax. However, you can add a name to a link by adding the URI followed by square brackets:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">http://fineract.apache.org/[Fineract Website]</code></pre>
-</div>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/macros/url-macro" class="bare">docs.asciidoctor.org/asciidoc/latest/macros/url-macro</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_link_to_other_pagessections_of_the_guide">Link to Other Pages/Sections of the Guide</h6>
-<div class="paragraph">
-<p>A warning up front, linking to other pages can be a little painful. There are slightly different rules depending on the type of link you want to create, and where you are linking from. The build process includes a validation for <em>internal</em> or <em>inter-page</em> links, so if you can build the docs locally, you can use that to verify you constructed your link properly. With all the below examples, you can add text to display as the link title by putting the display text in brackets after the link, as in:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">xref:indexing-guide:schema-api.adoc#modify-the-schema[Modify the Schema]</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>You can also use the title of the Page or Section you are linking to by using an empty display text.<br>
-This is useful in case the title of the page or section changes. In that case you won&#8217;t need to change the display text for every link that refers to that page/section.</p>
-</div>
-<div class="paragraph">
-<p>See an example below:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">xref:indexing-guide:schema-api.adoc#modify-the-schema[]</code></pre>
-</div>
-</div>
-<div class="sect6">
-<h7 id="_link_to_a_section_on_the_same_page">Link to a Section on the Same Page</h7>
-<div class="paragraph">
-<p>To link to an anchor (or section title) on the <em>same page</em>, you can simply use double angle brackets (<code>&lt;&lt; &gt;&gt;</code>) around the anchor/heading/section title you want to link to. Any section title (a heading that starts with equal signs) automatically becomes an anchor during conversion and is available for deep linking.</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Example</dt>
-<dd>
-<p>If I have a section on a page that looks like this (from <code>process.adoc</code>):</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">== Steps
-
-Common parameters for all steps are:</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>To link to this section from another part of the same <code>process.adoc</code> page, I simply need to put the section title in double angle brackets, as in:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">See also the &lt;&lt;Steps&gt;&gt; section.</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>The section title will be used as the display text; to customize that add a comma after the the section title, then the text you want used for display.</p>
-</div>
-</dd>
-</dl>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/macros/xref/#internal-cross-references" class="bare">docs.asciidoctor.org/asciidoc/latest/macros/xref/#internal-cross-references</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect6">
-<h7 id="_link_to_a_section_with_an_anchor_id">Link to a Section with an Anchor ID</h7>
-<div class="paragraph">
-<p>When linking to any section (on the same page or another one), you must also be aware of any pre-defined anchors that may be in use (these will be in double brackets, like <code>[[ ]]</code>).<br>
-When the page is converted, those will be the references your link needs to point to.</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Example</dt>
-<dd>
-<p>Take this example from <code>configsets-api.adoc</code>:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">[[configsets-create]]
-== Create a ConfigSet</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>To link to this section, there are two approaches depending on where you are linking from:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>From the same page, simply use the anchor name: <code>&lt;&lt;configsets-create&gt;&gt;</code>.</p>
-</li>
-<li>
-<p>From another page, use the page name and the anchor name: <code>xref:configuration-guide:configsets-api.adoc#configsets-create[]</code>.</p>
-</li>
-</ul>
-</div>
-</dd>
-</dl>
-</div>
-</div>
-<div class="sect6">
-<h7 id="_link_to_another_page">Link to Another Page</h7>
-<div class="paragraph">
-<p>To link to <em>another page</em> or a section on another page, you must refer to the full filename and refer to the section you want to link to.</p>
-</div>
-<div class="paragraph">
-<p>When you want to refer the reader to another page without deep-linking to a section, Asciidoctor allows this by merely omitting the <code>#</code> and section id.</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Example</dt>
-<dd>
-<p>To construct a link to the <code>process.adoc</code> page, we need to refer to the file name (<code>process.adoc</code>), as well as the module that the file resides in (<code>release/</code>).</p>
-<div class="paragraph">
-<p>It&#8217;s preferred to also always use the page name to give the reader better context for where the link goes.<br>
-As in:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">For more about upgrades, see xref:release:process.adoc[Fineract Release Process].</code></pre>
-</div>
-</div>
-</dd>
-</dl>
-</div>
-</div>
-<div class="sect6">
-<h7 id="_link_to_another_page_in_the_same_folder">Link to Another Page in the same folder</h7>
-<div class="paragraph">
-<p>If the page that contains the link and the page being linked to reside in the same module, there is no need to include the module name after <code>xref:</code></p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Example</dt>
-<dd>
-<p>To construct a link to the <code>process-step01.adoc</code> page from <code>process.adoc</code> page, we do not need to include the module name because they both reside in the <code>upgrade-notes</code> module.</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">For more information on the first step of the release process, see the section \xref:process-step01.adoc[].</code></pre>
-</div>
-</div>
-</dd>
-</dl>
-</div>
-</div>
-<div class="sect6">
-<h7 id="_link_to_a_section_on_another_page">Link to a Section on Another Page</h7>
-<div class="paragraph">
-<p>Linking to a section is the same conceptually as linking to the top of a page, you just need to take a little extra care to format the anchor ID in your link reference properly.</p>
-</div>
-<div class="paragraph">
-<p>When you link to a section on another page, you must make a simple conversion of the title into the format of the section ID that will be created during the conversion. These are the rules that transform the sections:</p>
-</div>
-<div class="dlist">
-<dl>
-<dt class="hdlist1">Example</dt>
-<dd>
-<p>TBD</p>
-</dd>
-</dl>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/macros/inter-document-xref" class="bare">docs.asciidoctor.org/asciidoc/latest/macros/inter-document-xref</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_ordered_and_unordered_lists">Ordered and Unordered Lists</h5>
-<div class="paragraph">
-<p>AsciiDoc supports three types of lists:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Unordered lists</p>
-</li>
-<li>
-<p>Ordered lists</p>
-</li>
-<li>
-<p>Labeled lists</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>Each type of list can be mixed with the other types. So, you could have an ordered list inside a labeled list if necessary.</p>
-</div>
-<div class="sect5">
-<h6 id="_unordered_lists">Unordered Lists</h6>
-<div class="paragraph">
-<p>Simple bulleted lists need each line to start with an asterisk (<code>*</code>). It should be the first character of the line, and be followed by a space.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/lists/unordered" class="bare">docs.asciidoctor.org/asciidoc/latest/lists/unordered</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_ordered_lists">Ordered Lists</h6>
-<div class="paragraph">
-<p>Numbered lists need each line to start with a period (<code>.</code>). It should be the first character of the line, and be followed by a space. This style is preferred over manually numbering your list.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/lists/ordered" class="bare">docs.asciidoctor.org/asciidoc/latest/lists/ordered</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_description_lists">Description Lists</h6>
-<div class="paragraph">
-<p>These are like question &amp; answer lists or glossary definitions.<br>
-Each line should start with the list item followed by double colons (<code>::</code>), then a space or new line. Labeled lists can be nested by adding an additional colon (such as <code>:::</code>, etc.). If your content will span multiple paragraphs or include source blocks, etc., you will want to add a plus sign (<code>+</code>) to keep the sections together for your reader.</p>
-</div>
-<div class="admonitionblock tip">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-tip" title="Tip"></i>
-</td>
-<td class="content">
-We prefer this style of list for parameters because it allows more freedom in how you present the details for each parameter. For example, it supports ordered or unordered lists inside it automatically, and you can include multiple paragraphs and source blocks without trying to cram them into a smaller table cell.
-</td>
-</tr>
-</table>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/lists/description" class="bare">docs.asciidoctor.org/asciidoc/latest/lists/description</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_images">Images</h5>
-<div class="paragraph">
-<p>There are two ways to include an image: inline or as a block. Inline images are those where text will flow around the image. Block images are those that appear on their own line, set off from any other text on the page. Both approaches use the <code>image</code> tag before the image filename, but the number of colons after <code>image</code> define if it is inline or a block. Inline images use one colon (<code>image:</code>), while block images use two colons (<code>image::</code>). Block images automatically include a caption label and a number (such as <code>Figure 1</code>). If a block image includes a title, it will be included as the text of the caption. Optional attributes allow you to set the alt text, the size of the image, if it should be a link, float and alignment. We have defined a global attribute <code>{imagesdir}</code> to standardize the location for all images (<code>fineract-doc/src/docs/en/images</code>).</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/macros/images" class="bare">docs.asciidoctor.org/asciidoc/latest/macros/images</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_tables">Tables</h5>
-<div class="paragraph">
-<p>Tables can be complex, but it is pretty easy to make a basic table that fits most needs.</p>
-</div>
-<div class="sect5">
-<h6 id="_basic_tables">Basic Tables</h6>
-<div class="paragraph">
-<p>The basic structure of a table is similar to Markdown, with pipes (<code>|</code>) delimiting columns between rows:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">|===
-| col 1 row 1 | col 2 row 1|
-| col 1 row 2 | col 2 row 2|
-|===</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Note the use of <code>|===</code> at the start and end. For basic tables that&#8217;s not exactly required, but it does help to delimit the start and end of the table in case you accidentally introduce (or maybe prefer) spaces between the rows.</p>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_header_rows">Header Rows</h6>
-<div class="paragraph">
-<p>To add a header to a table, you need only set the <code>header</code> attribute at the start of the table:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">[options=&quot;header&quot;]
-|===
-| header col 1 | header col 2|
-| col 1 row 1 | col 2 row 1|
-| col 1 row 2 | col 2 row 2|
-|===</code></pre>
-</div>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_defining_column_styles">Defining Column Styles</h6>
-<div class="paragraph">
-<p>If you need to define specific styles to all rows in a column, you can do so with the attributes.</p>
-</div>
-<div class="paragraph">
-<p>This example will center all content in all rows:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">[cols=&quot;2*^&quot; options=&quot;header&quot;]
-|===
-| header col 1 | header col 2|
-| col 1 row 1 | col 2 row 1|
-| col 1 row 2 | col 2 row 2|
-|===</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Alignments or any other styles can be applied only to a specific column. For example, this would only center the last column of the table:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">[cols=&quot;2*,^&quot; options=&quot;header&quot;]
-|===
-| header col 1 | header col 2|
-| col 1 row 1 | col 2 row 1|
-| col 1 row 2 | col 2 row 2|
-|===</code></pre>
-</div>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<div class="title">Many more examples of formatting:</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Columns: <a href="https://docs.asciidoctor.org/asciidoc/latest/tables/add-columns/" class="bare">docs.asciidoctor.org/asciidoc/latest/tables/add-columns/</a></p>
-</li>
-<li>
-<p>Cells and rows: <a href="https://docs.asciidoctor.org/asciidoc/latest/tables/add-cells-and-rows/" class="bare">docs.asciidoctor.org/asciidoc/latest/tables/add-cells-and-rows/</a></p>
-</li>
-</ul>
-</div>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_more_options">More Options</h6>
-<div class="paragraph">
-<p>Tables can also be given footer rows, borders, and captions. You can  determine the width of columns, or the width of the table as a whole.</p>
-</div>
-<div class="paragraph">
-<p>CSV or DSV can also be used instead of formatting the data in pipes.</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/tables/build-a-basic-table/" class="bare">docs.asciidoctor.org/asciidoc/latest/tables/build-a-basic-table/</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_admonitions_notes_warnings">Admonitions (Notes, Warnings)</h5>
-<div class="paragraph">
-<p>AsciiDoc supports several types of callout boxes, called "admonitions":</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>NOTE</p>
-</li>
-<li>
-<p>TIP</p>
-</li>
-<li>
-<p>IMPORTANT</p>
-</li>
-<li>
-<p>CAUTION</p>
-</li>
-<li>
-<p>WARNING</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>It is enough to start a paragraph with one of these words followed by a colon (such as <code>NOTE:</code>). When it is converted to HTML, those sections will be formatted properly - indented from the main text and showing an icon inline.</p>
-</div>
-<div class="paragraph">
-<p>You can add titles to admonitions by making it an admonition block. The structure of an admonition block is like this:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">.Title of Note
-[NOTE]
-====
-Text of note
-====</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>In this example, the type of admonition is included in square brackets (<code>[NOTE]</code>), and the title is prefixed with a period. Four equal signs give the start and end points of the note text (which can include new lines, lists, code examples, etc.).</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/blocks/admonitions/" class="bare">docs.asciidoctor.org/asciidoc/latest/blocks/admonitions/</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_stem_notation_support">STEM Notation Support</h5>
-<div class="paragraph">
-<p>We have set up the Ref Guide to be able to support STEM notation whenever it&#8217;s needed.</p>
-</div>
-<div class="paragraph">
-<p>The <a href="http://asciimath.org/">AsciiMath</a> syntax is supported by default, but LaTeX syntax is also available.</p>
-</div>
-<div class="paragraph">
-<p>To insert a mathematical formula inline with your text, you can simply write:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">stem:[a//b]</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>MathJax.js will render the formula as proper mathematical notation when a user loads the page. When the above example is converted to HTML, it will look like this to a user: \$a//b\$</p>
-</div>
-<div class="paragraph">
-<p>To insert LaTeX, preface the formula with <code>latexmath</code> instead of <code>stem</code>:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">latexmath:[tp \leq 1 - (1 - sim^{rows})^{bands}]</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Long formulas, or formulas which should to be set off from the main text, can use the block syntax prefaced by <code>stem</code> or <code>latexmath</code>:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">[stem]
-++++
-sqrt(3x-1)+(1+x)^2 &lt; y
-++++</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>or for LaTeX:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="asciidoc">[latexmath]
-++++
-[tp \leq 1 - (1 - sim^{rows})^{bands}]
-++++</code></pre>
-</div>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-More info at <a href="https://docs.asciidoctor.org/asciidoc/latest/stem/stem" class="bare">docs.asciidoctor.org/asciidoc/latest/stem/stem</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_diagrams">Diagrams</h3>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<a href="https://docs.asciidoctor.org/diagram-extension/latest" class="bare">docs.asciidoctor.org/diagram-extension/latest</a>
-</td>
-</tr>
-</table>
-</div>
-<div class="sect3">
-<h4 id="_plantuml_cheatsheet">PlantUML Cheatsheet</h4>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<a href="https://plantuml.com" class="bare">plantuml.com</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_c4_cheatsheet">C4 Cheatsheet</h4>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<a href="https://c4model.com" class="bare">c4model.com</a> and <a href="https://github.com/plantuml-stdlib/C4-PlantUML" class="bare">github.com/plantuml-stdlib/C4-PlantUML</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_archimate_cheatsheet">Archimate Cheatsheet</h4>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<a href="https://www.opengroup.org/archimate-forum/archimate-overview" class="bare">www.opengroup.org/archimate-forum/archimate-overview</a> and <a href="https://plantuml.com/archimate-diagram" class="bare">plantuml.com/archimate-diagram</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_vega_cheatsheet">Vega Cheatsheet</h4>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-<a href="https://vega.github.io/vega-lite/" class="bare">vega.github.io/vega-lite/</a>
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_editor">Editor</h3>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="sect3">
-<h4 id="_intellij_idea">IntelliJ IDEA</h4>
-<div class="sect4">
-<h5 id="_asciidoc_2">Asciidoc</h5>
-<div class="paragraph">
-<p>See: <a href="https://plugins.jetbrains.com/plugin/7391-asciidoc" class="bare">plugins.jetbrains.com/plugin/7391-asciidoc</a></p>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_plantuml">PlantUML</h5>
-<div class="paragraph">
-<p>See: <a href="https://plugins.jetbrains.com/plugin/7017-plantuml-integration" class="bare">plugins.jetbrains.com/plugin/7017-plantuml-integration</a></p>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_eclipse_2">Eclipse</h4>
-<div class="sect4">
-<h5 id="_asciidoc_3">Asciidoc</h5>
-<div class="paragraph">
-<p>See: <a href="https://marketplace.eclipse.org/content/asciidoctor-editor" class="bare">marketplace.eclipse.org/content/asciidoctor-editor</a></p>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_plantuml_2">PlantUML</h5>
-<div class="paragraph">
-<p>See: <a href="https://plantuml.com/eclipse" class="bare">plantuml.com/eclipse</a></p>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_vscode_2">VSCode</h4>
-<div class="sect4">
-<h5 id="_asciidoc_4">Asciidoc</h5>
-<div class="paragraph">
-<p>See: <a href="https://marketplace.visualstudio.com/items?itemName=asciidoctor.asciidoctor-vscode" class="bare">marketplace.visualstudio.com/items?itemName=asciidoctor.asciidoctor-vscode</a></p>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_plantuml_3">PlantUML</h5>
-<div class="paragraph">
-<p>See: <a href="https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml" class="bare">marketplace.visualstudio.com/items?itemName=jebbs.plantuml</a></p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_antora">Antora</h3>
-<div class="paragraph">
-<p>See: <a href="https://antora.org/" class="bare">antora.org/</a></p>
-</div>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_releases">Releases</h2>
-<div class="sectionbody">
-<div class="paragraph">
-<p><a href="https://cwiki.apache.org/confluence/x/DRwIB">How to Release Apache Fineract</a> documents the process how we make the source code that is available here in this Git repository into a binary release tar.gz available on <a href="http://fineract.apache.org" class="bare">fineract.apache.org</a>.</p>
-</div>
-<div class="imageblock">
-<div class="content">
-<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnIHN0YW5kYWxvbmU9J25vJz8+PHN2ZyBjb250ZW50U2NyaXB0VHlwZT0nYXBwbGljYXRpb24vZWNtYXNjcmlwdCcgY29udGVudFN0eWxlVHlwZT0ndGV4dC9jc3MnIGhlaWdodD0nMTM0cHgnIHByZXNlcnZlQXNwZWN0UmF0aW89J25vbmUnIHN0eWxlPSd3aWR0aDo0MjRweDtoZWlnaHQ6MTM0cHg7YmFja2dyb3VuZDojRkZGRkZGOycgdmVyc2lvbj0nMS4xJyB2aWV3Qm94PScwIDAgNDI0IDEzNCcgd2lkdGg9JzQyNHB4JyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB6b29tQW5kUGFuPSdtYWduaWZ5Jz48ZGVmcy8+PGc+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMCcgeDI9JzAnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNicgeDI9JzE2JyB5MT0nMCcgeTI9JzExNi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMzInIHgyPSczMicgeTE9JzAnIHkyPScxMTYuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzQ4JyB4Mj0nNDgnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc2NCcgeDI9JzY0JyB5MT0nMCcgeTI9JzExNi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nODAnIHgyPSc4MCcgeTE9JzAnIHkyPScxMTYuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9Jzk2JyB4Mj0nOTYnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMTInIHgyPScxMTInIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMjgnIHgyPScxMjgnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNDQnIHgyPScxNDQnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNjAnIHgyPScxNjAnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNzYnIHgyPScxNzYnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxOTInIHgyPScxOTInIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMDgnIHgyPScyMDgnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMjQnIHgyPScyMjQnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyNDAnIHgyPScyNDAnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyNTYnIHgyPScyNTYnIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyNzInIHgyPScyNzInIHkxPScwJyB5Mj0nMTE2LjgyODEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNicgeD0nNScgeT0nOS4yODIyJz4xPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PScyMScgeT0nOS4yODIyJz4yPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSczNycgeT0nOS4yODIyJz4zPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSc1MycgeT0nOS4yODIyJz40PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSc2OScgeT0nOS4yODIyJz41PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSc4NScgeT0nOS4yODIyJz42PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PScxMDEnIHk9JzkuMjgyMic+NzwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNicgeD0nMTE3JyB5PSc5LjI4MjInPjg8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzYnIHg9JzEzMycgeT0nOS4yODIyJz45PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMTQ2JyB5PSc5LjI4MjInPjEwPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMTYyJyB5PSc5LjI4MjInPjExPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMTc4JyB5PSc5LjI4MjInPjEyPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMTk0JyB5PSc5LjI4MjInPjEzPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMjEwJyB5PSc5LjI4MjInPjE0PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMjI2JyB5PSc5LjI4MjInPjE1PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMjQyJyB5PSc5LjI4MjInPjE2PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMjU4JyB5PSc5LjI4MjInPjE3PC90ZXh0PjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzAnIHgyPScyNzInIHkxPScwJyB5Mj0nMCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzAnIHgyPScyNzInIHkxPScxMycgeTI9JzEzJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB4MT0nNycgeDI9JzcnIHkxPSczMC44MDQ3JyB5Mj0nNDEuMjA3Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB4MT0nNycgeDI9JzE1JyB5MT0nNDEuMjA3JyB5Mj0nNDEuMjA3Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScxMSwzNy4yMDcsMTEsNDEuMjA3LDExLDQ1LjIwNywxNSw0MS4yMDcnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycgeDE9JzExOScgeDI9JzExOScgeTE9JzQ3LjYwOTQnIHkyPSc1OC4wMTE3Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB4MT0nMTE5JyB4Mj0nMTI3JyB5MT0nNTguMDExNycgeTI9JzU4LjAxMTcnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzEyMyw1NC4wMTE3LDEyMyw1OC4wMTE3LDEyMyw2Mi4wMTE3LDEyNyw1OC4wMTE3JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHgxPScxNTEnIHgyPScxNTEnIHkxPSc2NC40MTQxJyB5Mj0nNzQuODE2NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycgeDE9JzE1MScgeDI9JzE1OScgeTE9Jzc0LjgxNjQnIHkyPSc3NC44MTY0Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScxNTUsNzAuODE2NCwxNTUsNzQuODE2NCwxNTUsNzguODE2NCwxNTksNzQuODE2NCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB4MT0nMTk5JyB4Mj0nMTk5JyB5MT0nODEuMjE4OCcgeTI9JzkxLjYyMTEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHgxPScxOTknIHgyPScyMDcnIHkxPSc5MS42MjExJyB5Mj0nOTEuNjIxMScvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjAzLDg3LjYyMTEsMjAzLDkxLjYyMTEsMjAzLDk1LjYyMTEsMjA3LDkxLjYyMTEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycgeDE9JzIzMScgeDI9JzIzMScgeTE9Jzk4LjAyMzQnIHkyPScxMDguNDI1OCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycgeDE9JzIzMScgeDI9JzIzOScgeTE9JzEwOC40MjU4JyB5Mj0nMTA4LjQyNTgnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIzNSwxMDQuNDI1OCwyMzUsMTA4LjQyNTgsMjM1LDExMi40MjU4LDIzOSwxMDguNDI1OCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7Jy8+PHJlY3QgZmlsbD0nI0ZFRkVDRScgaGVpZ2h0PScxMi44MDQ3JyBzdHlsZT0nc3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScxMicgeD0nMicgeT0nMTgnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyJyB4Mj0nMTQnIHkxPScxOCcgeTI9JzE4Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMicgeDI9JzE0JyB5MT0nMzAuODA0NycgeTI9JzMwLjgwNDcnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyJyB4Mj0nMicgeTE9JzE4JyB5Mj0nMzAuODA0NycvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzE0JyB4Mj0nMTQnIHkxPScxOCcgeTI9JzMwLjgwNDcnLz48cmVjdCBmaWxsPScjRkVGRUNFJyBoZWlnaHQ9JzEyLjgwNDcnIHN0eWxlPSdzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzEwOCcgeD0nMTgnIHk9JzM0LjgwNDcnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxOCcgeDI9JzEyNicgeTE9JzM0LjgwNDcnIHkyPSczNC44MDQ3Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTgnIHgyPScxMjYnIHkxPSc0Ny42MDk0JyB5Mj0nNDcuNjA5NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzE4JyB4Mj0nMTgnIHkxPSczNC44MDQ3JyB5Mj0nNDcuNjA5NCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzEyNicgeDI9JzEyNicgeTE9JzM0LjgwNDcnIHkyPSc0Ny42MDk0Jy8+PHJlY3QgZmlsbD0nI0ZFRkVDRScgaGVpZ2h0PScxMi44MDQ3JyBzdHlsZT0nc3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyOCcgeD0nMTMwJyB5PSc1MS42MDk0Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTMwJyB4Mj0nMTU4JyB5MT0nNTEuNjA5NCcgeTI9JzUxLjYwOTQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMzAnIHgyPScxNTgnIHkxPSc2NC40MTQxJyB5Mj0nNjQuNDE0MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzEzMCcgeDI9JzEzMCcgeTE9JzUxLjYwOTQnIHkyPSc2NC40MTQxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTU4JyB4Mj0nMTU4JyB5MT0nNTEuNjA5NCcgeTI9JzY0LjQxNDEnLz48cmVjdCBmaWxsPScjRkVGRUNFJyBoZWlnaHQ9JzEyLjgwNDcnIHN0eWxlPSdzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MS4wOycgd2lkdGg9JzQ0JyB4PScxNjInIHk9JzY4LjQxNDEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNjInIHgyPScyMDYnIHkxPSc2OC40MTQxJyB5Mj0nNjguNDE0MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzE2MicgeDI9JzIwNicgeTE9JzgxLjIxODgnIHkyPSc4MS4yMTg4Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTYyJyB4Mj0nMTYyJyB5MT0nNjguNDE0MScgeTI9JzgxLjIxODgnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMDYnIHgyPScyMDYnIHkxPSc2OC40MTQxJyB5Mj0nODEuMjE4OCcvPjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGhlaWdodD0nMTIuODA0Nycgc3R5bGU9J3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjA7JyB3aWR0aD0nMjgnIHg9JzIxMCcgeT0nODUuMjE4OCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIxMCcgeDI9JzIzOCcgeTE9Jzg1LjIxODgnIHkyPSc4NS4yMTg4Jy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjEwJyB4Mj0nMjM4JyB5MT0nOTguMDIzNCcgeTI9Jzk4LjAyMzQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMTAnIHgyPScyMTAnIHkxPSc4NS4yMTg4JyB5Mj0nOTguMDIzNCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzIzOCcgeDI9JzIzOCcgeTE9Jzg1LjIxODgnIHkyPSc5OC4wMjM0Jy8+PHJlY3QgZmlsbD0nI0ZFRkVDRScgaGVpZ2h0PScxMi44MDQ3JyBzdHlsZT0nc3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuMDsnIHdpZHRoPScyOCcgeD0nMjQyJyB5PScxMDIuMDIzNCcvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzI0MicgeDI9JzI3MCcgeTE9JzEwMi4wMjM0JyB5Mj0nMTAyLjAyMzQnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyNDInIHgyPScyNzAnIHkxPScxMTQuODI4MScgeTI9JzExNC44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjQyJyB4Mj0nMjQyJyB5MT0nMTAyLjAyMzQnIHkyPScxMTQuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzI3MCcgeDI9JzI3MCcgeTE9JzEwMi4wMjM0JyB5Mj0nMTE0LjgyODEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMScgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc4OScgeD0nMTgnIHk9JzI4LjIxMDQnPkhlYWRzIHVwIGVtYWlsPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzExJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEyMCcgeD0nMTMwJyB5PSc0NS4wMTUxJz5PcGVuIHJlbGVhc2UgYnJhbmNoPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzExJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzE3OScgeD0nMTYyJyB5PSc2MS44MTk4Jz5QcmVwYXJlIGRpc3RyaWJ1dGlvbiBmb3Igc3RhZ2luZzwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMScgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxNzcnIHg9JzIxMCcgeT0nNzguNjI0NSc+Vm90ZSBmb3IgZGlzdHJpYnV0aW9uIG9uIHN0YWdpbmc8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTEnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTgwJyB4PScyNDInIHk9Jzk1LjQyOTInPlByZXBhcmUgZGlzdHJpYnV0aW9uIGZvciByZWxlYXNlPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzExJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEwMicgeD0nMjc0JyB5PScxMTIuMjMzOSc+QW5ub3VuY2UgcmVsZWFzZTwvdGV4dD48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScwJyB4Mj0nMCcgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNicgeDI9JzE2JyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzMyJyB4Mj0nMzInIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nNDgnIHgyPSc0OCcgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPSc2NCcgeDI9JzY0JyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzgwJyB4Mj0nODAnIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nOTYnIHgyPSc5NicgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxMTInIHgyPScxMTInIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTI4JyB4Mj0nMTI4JyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzE0NCcgeDI9JzE0NCcgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScxNjAnIHgyPScxNjAnIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMTc2JyB4Mj0nMTc2JyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzE5MicgeDI9JzE5MicgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyMDgnIHgyPScyMDgnIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjI0JyB4Mj0nMjI0JyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzI0MCcgeDI9JzI0MCcgeTE9JzExNi44MjgxJyB5Mj0nMTMyLjgyODEnLz48bGluZSBzdHlsZT0nc3Ryb2tlOiNDMEMwQzA7c3Ryb2tlLXdpZHRoOjEuMDsnIHgxPScyNTYnIHgyPScyNTYnIHkxPScxMTYuODI4MScgeTI9JzEzMi44MjgxJy8+PGxpbmUgc3R5bGU9J3N0cm9rZTojQzBDMEMwO3N0cm9rZS13aWR0aDoxLjA7JyB4MT0nMjcyJyB4Mj0nMjcyJyB5MT0nMTE2LjgyODEnIHkyPScxMzIuODI4MScvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSc1JyB5PScxMjkuMTEwNCc+MTwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNicgeD0nMjEnIHk9JzEyOS4xMTA0Jz4yPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSczNycgeT0nMTI5LjExMDQnPjM8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzYnIHg9JzUzJyB5PScxMjkuMTEwNCc+NDwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nNicgeD0nNjknIHk9JzEyOS4xMTA0Jz41PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc2JyB4PSc4NScgeT0nMTI5LjExMDQnPjY8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzYnIHg9JzEwMScgeT0nMTI5LjExMDQnPjc8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzYnIHg9JzExNycgeT0nMTI5LjExMDQnPjg8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzYnIHg9JzEzMycgeT0nMTI5LjExMDQnPjk8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEyJyB4PScxNDYnIHk9JzEyOS4xMTA0Jz4xMDwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTInIHg9JzE2MicgeT0nMTI5LjExMDQnPjExPC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMTc4JyB5PScxMjkuMTEwNCc+MTI8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEyJyB4PScxOTQnIHk9JzEyOS4xMTA0Jz4xMzwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTInIHg9JzIxMCcgeT0nMTI5LjExMDQnPjE0PC90ZXh0Pjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdTZXJpZicgZm9udC1zaXplPScxMCcgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxMicgeD0nMjI2JyB5PScxMjkuMTEwNCc+MTU8L3RleHQ+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J1NlcmlmJyBmb250LXNpemU9JzEwJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzEyJyB4PScyNDInIHk9JzEyOS4xMTA0Jz4xNjwvdGV4dD48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nU2VyaWYnIGZvbnQtc2l6ZT0nMTAnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTInIHg9JzI1OCcgeT0nMTI5LjExMDQnPjE3PC90ZXh0PjxsaW5lIHN0eWxlPSdzdHJva2U6I0MwQzBDMDtzdHJva2Utd2lkdGg6MS4wOycgeDE9JzAnIHgyPScyNzInIHkxPScxMTkuODI4MScgeTI9JzExOS44MjgxJy8+PC9nPjwvc3ZnPg==" alt="Diagram" width="100%" height="134">
-</div>
-<div class="title">Figure 4. Release Schedule</div>
-</div>
-<div class="sect2">
-<h3 id="_configuration">Configuration</h3>
-<div class="paragraph">
-<p>Before you can start using the Fineract release plugin to create releases you have to configure and setup a couple of things first.</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>All official communication concerning releases happens on the <a href="mailto:dev@fineract.apache.org">mailing list</a>. Every release manager needs to be a member of and engaging on the mailing list for credibility.</p>
-</li>
-<li>
-<p>Make sure you have edit permissions on the <a href="https://cwiki.apache.org/confluence/display/FINERACT">Apache Confluence Wiki</a></p>
-</li>
-<li>
-<p>You need full permissions on <a href="https://issues.apache.org/jira">Apache JIRA</a> to be able to move issues to the next release</p>
-</li>
-<li>
-<p>Git committer privileges to be allowed to create tags and the release branch</p>
-</li>
-<li>
-<p>Familiarity with building Fineract locally and creating release distributions is required</p>
-</li>
-<li>
-<p>You need to be a member of the PMC to be able to upload release artifacts; this task can be delegated though</p>
-</li>
-<li>
-<p>A general Familiarity with PGP/GPG is recommended (at least to setup your keypairs), but the release plugin does most of the heavy lifting</p>
-</li>
-<li>
-<p>Make sure to read the release plugin documentation for troubleshooting</p>
-</li>
-</ul>
-</div>
-<div class="sect3">
-<h4 id="_secrets">Secrets</h4>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="sect4">
-<h5 id="_infrastructure_team">Infrastructure Team</h5>
-<div class="paragraph">
-<p>A couple of secrets for third party services are automatically configured by the infrastructure team at The Apache Foundation for the Fineract Github account. At the moment this includes environment variables for:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Github token (e. g. to publish Github Pages, use the Github API in Github Actions)</p>
-</li>
-<li>
-<p>Docker Hub token (to publish our Docker images)</p>
-</li>
-<li>
-<p>Sonar Cloud token (for our code quality reports)</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>See also:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="https://infra.apache.org/github-pages.html" class="bare">infra.apache.org/github-pages.html</a></p>
-</li>
-<li>
-<p><a href="https://cwiki.apache.org/confluence/display/INFRA/Github+Actions+to+DockerHub" class="bare">cwiki.apache.org/confluence/display/INFRA/Github+Actions+to+DockerHub</a></p>
-</li>
-<li>
-<p><a href="https://github.com/apache/jmeter-site-preview" class="bare">github.com/apache/jmeter-site-preview</a></p>
-</li>
-<li>
-<p><a href="https://github.com/apache/fineract-site" class="bare">github.com/apache/fineract-site</a></p>
-</li>
-<li>
-<p><a href="https://github.com/apache/systemds-website/blob/main/.asf.yaml" class="bare">github.com/apache/systemds-website/blob/main/.asf.yaml</a></p>
-</li>
-</ul>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_lastpass">Lastpass</h5>
-<div class="paragraph">
-<p>It seems that Apache has some kind of org account or similar. Popped up a couple of times in the infrastructure documentation.</p>
-</div>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_1password">1Password</h5>
-<div class="paragraph">
-<p>Other Fineract development related secrets, e. g. for deployments of demo systems on Google Cloud, AWS etc. are managed in a team account at 1Password. At the moment the following committers are members of the 1Password team account:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p><a href="mailto:edcable@apache.org">Ed Cable</a></p>
-</li>
-<li>
-<p><a href="mailto:vorburger@apache.org">Michael Vorburger</a></p>
-</li>
-<li>
-<p><a href="mailto:ptuomola@apache.org">Petri Tuomola</a></p>
-</li>
-<li>
-<p><a href="mailto:arnold@apache.org">Arnold Galovics</a></p>
-</li>
-<li>
-<p><a href="mailto:aleks@apache.org">Aleksandar Vidakovic</a></p>
-</li>
-</ul>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-If you need access or have any questions related to those secrets then please reach out to one of the team members.
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_gpg_2">GPG</h4>
-<div class="paragraph">
-<p>Generate GPG key pairs if you don&#8217;t already have them and publish them. Please use your Apache email address when creating your GPG keypair. If you already have configured GPG and associated your keypair with a non-Apache email address then please consider creating a separate one just for all things related to Fineract (or Apache in general).</p>
-</div>
-<div class="paragraph">
-<p>Instructions:</p>
-</div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p>Check your GPG version:</p>
-<div class="listingblock">
-<div class="title">Input GPG version</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">gpg --version</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">Output GPG version</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">gpg (GnuPG) 2.2.27
-libgcrypt 1.9.4
-Copyright (C) 2021 Free Software Foundation, Inc.
-License GNU GPL-3.0-or-later &lt;https://gnu.org/licenses/gpl.html&gt;
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
-
-Home: /home/aleks/.gnupg
-Supported algorithms:
-Pubkey: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
-Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
-        CAMELLIA128, CAMELLIA192, CAMELLIA256
-Hash: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
-Compression: Uncompressed, ZIP, ZLIB, BZIP2</code></pre>
-</div>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-The insecure hash algorithm SHA1 is still supported in version 2.2.27. SHA1 is obsolete and you don&#8217;t want to use it to generate your signature.
-</td>
-</tr>
-</table>
-</div>
-</li>
-<li>
-<p>Generate your GPG key pair:</p>
-<div class="listingblock">
-<div class="title">Input generate GPG key pair</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">gpg --full-gen-key</code></pre>
-</div>
-</div>
-<div class="listingblock">
-<div class="title">Output generate GPG key pair (step 1: key type selection)</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">gpg (GnuPG) 2.2.27; Copyright (C) 2021 Free Software Foundation, Inc.
-This is free software: you are free to change and redistribute it.
-There is NO WARRANTY, to the extent permitted by law.
-
-Please select what kind of key you want:
-   (1) RSA and RSA (default)
-   (2) DSA and Elgamal
-   (3) DSA (sign only)
-   (4) RSA (sign only)
-  (14) Existing key from card
-Your selection?</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>There are four options. The default is to use RSA to create the key pair. Good enough for us.</p>
-</div>
-<div class="listingblock">
-<div class="title">Output generate GPG key pair (step 2: key length selection)</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">RSA keys may be between 1024 and 4096 bits long.
-What keysize do you want? (2048)</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>The default key length is 2048 bits. 1024 is obsolete and a longer 4096 RSA key will not provide more security than 2048 RSA key. Use the default.</p>
-</div>
-<div class="listingblock">
-<div class="title">Output generate GPG key pair (step 3: validity selection)</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">Requested keysize is 2048 bits
-Please specify how long the key should be valid.
- 0 = key does not expire
- &lt;n&gt; = key expires in n days
- &lt;n&gt;w = key expires in n weeks
- &lt;n&gt;m = key expires in n months
- &lt;n&gt;y = key expires in n years
-Key is valid for? (0)2y</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>2 years for the validity of your keys should be fine. You can always update the expiration time later on.</p>
-</div>
-<div class="listingblock">
-<div class="title">Output generate GPG key pair (step 4: confirmation)</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">Key expires at Sun 16 Apr 2024 08:10:24 PM UTC
-Is this correct? (y/N)y</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Confirm if everything is correct.</p>
-</div>
-<div class="listingblock">
-<div class="title">Output generate GPG key pair (step 5: provide user details)</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">GnuPG needs to construct a user ID to identify your key.
-Real name: Aleksandar Vidakovic
-Email address: aleks@apache.org
-Comment:</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Provide your user details for the key. This is important because this information will be included in our key. It&#8217;s one way of indicating who is owner of this key. The email address is a unique identifier for a person. You can leave Comment blank.</p>
-</div>
-<div class="listingblock">
-<div class="title">Output generate GPG key pair (step 6: user ID selection)</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">You selected this USER-ID:
-&quot;Aleksandar Vidakovic &lt;aleks@apache.org&gt;&quot;
-Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Select <code>Okay</code>.</p>
-</div>
-<div class="paragraph">
-<p>After the selection of your user ID GPG will ask for a passphrase to protect your private key. Maybe time to open your password manager and generate a secure one and save it in your vault. Once you&#8217;ve confirmed your password GPG will start to generate your keys.</p>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-Don&#8217;t lose your private key password. You won&#8217;t be able to unlock and use your private key without it.
-</td>
-</tr>
-</table>
-</div>
-<div class="listingblock">
-<div class="title">Output generate GPG key pair (step 7: gpg key pair generation)</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">We need to generate a lot of random bytes. It is a good idea to perform
-some other action (type on the keyboard, move the mouse, utilize the
-disks) during the prime generation; this gives the random number
-generator a better chance to gain enough entropy.</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Generating the GPG keys will take a while.</p>
-</div>
-<div class="listingblock">
-<div class="title">Output generate GPG key pair (step 8: gpg key pair finished)</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">gpg: key 7890ABCD marked as ultimately trusted <i class="conum" data-value="1"></i><b>(1)</b>
-gpg: directory '/home/aleks/.gnupg/openpgp-revocs.d' created
-gpg: revocation certificate stored as '/home/aleks/.gnupg/openpgp-revocs.d/ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCD.rev' <i class="conum" data-value="2"></i><b>(2)</b>
-public and secret key created and signed.
-
-gpg: checking the trustdb
-gpg: marginals needed: 3 completes needed: 1 trust model: PGP
-gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
-gpg: next trustdb check due at 2024-04-16
-pub rsa2048/7890ABCD 2022-04-16 [S] [expires: 2024-04-16] <i class="conum" data-value="3"></i><b>(3)</b>
-Key fingerprint = ABCD EFGH IJKL MNOP QRST UVWX YZ12 3456 7890 ABCD <i class="conum" data-value="4"></i><b>(4)</b>
-uid     [ultimate] Aleksandar Vidakovic &lt;aleks@apache.org&gt; <i class="conum" data-value="5"></i><b>(5)</b>
-sub rsa2048/4FGHIJ56 2022-04-16 [] [expires: 2024-04-16]</code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>GPG created a unique identifier in HEX format for your public key. When someone wants to download your public key, they can refer to it either with your email address or this HEX value.</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>GPG created a revocation certificate and its directory. You should never share your private key. If your private key is compromised, you need to use your revocation certificate to revoke your key.</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>The public key is 2048 bits using RSA algorithm and shows the expiration date of 16 Apr 2024. The public key ID <code>7890ABCD</code> matches the last 8 bits of key fingerprint.</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td>The key fingerprint (<code>ABCD EFGH IJKL MNOP QRST UVWX YZ12 3456 7890 ABCD</code>) is a hash of your public key.</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="5"></i><b>5</b></td>
-<td>Your name and your email address are shown with information about the subkey.</td>
-</tr>
-</table>
-</div>
-<div class="paragraph">
-<p>Now you can find that there are two files created under ~/.gnupg/private-keys-v1.d/ directory. These two files are binary files with .key extension.</p>
-</div>
-</li>
-<li>
-<p>Export your public key:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">gpg --armor --export aleks@apache.org &gt; pubkey.asc</code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>Export Your Private Key:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">gpg --export-secret-keys --armor aleks@apache.org &gt; privkey.asc</code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>Protect Your Private Key and Revocation Certificate</p>
-<div class="paragraph">
-<p>Your private key should be kept in a safe place, like an encrypted flash drive. Treat it like your house key. Only you can have it and don&#8217;t lose it. And you must remember your passphrase, otherwise you can&#8217;t unlock your private key.</p>
-</div>
-<div class="paragraph">
-<p>You should protect your revocation certificate. Anyone in posession of your revocation certificate, could immediately revoke your public/private key pair and generate fake ones.</p>
-</div>
-</li>
-</ol>
-</div>
-<div class="admonitionblock important">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-important" title="Important"></i>
-</td>
-<td class="content">
-Please contact a PMC member to add your GPG public key in Fineract&#8217;s Subversion repository. This is necessary to be able to validate published releases.
-</td>
-</tr>
-</table>
-</div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p>Upload your GPG key to a keyserver:</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">gpg --send-keys ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCD</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Before doing this, make sure that your default keyserver is hkp://keyserver.ubuntu.com/. You can do this by changing the default keyserver in ~/.gnupg/dirmngr.conf:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">keyserver hkp://keyserver.ubuntu.com/</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Alternatively you can provide the keyserver whith the send command:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">gpg --keyserver 'hkp://keyserver.ubuntu.com:11371' --send-keys ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCD</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Another option to publish your key is to submit an armored public key directly at <a href="https://keyserver.ubuntu.com/" class="bare">keyserver.ubuntu.com/</a>. You can create the necessary data with this command by providing the email address that you used when you created your key pair:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">gpg --armor --export aleks@apache.org</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Output:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">-----BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQINBF8iGq0BEADGRqeSsOoNDc1sV3L9sQ34KhmoQrACnMYGztx33TD98aWplul+
-jm8uGtMmBus4DJJJap1bVQ1oMehw2mscmDHpfJjLNZ/q+vUqbExx1/CER7XvLryN
-&lt;--- snip ---&gt;
-2nHBuBftxDRpDHQ+O5XYwSDSTDMmthPjx0vJGBH4K1kO8XK99e01A6/oYLV2SMKp
-gXXeWjafxBmHT1cM8hoBZBYzgTu9nK5UnllWunfaHXiCBG4oQQ==
-=85/F
------END PGP PUBLIC KEY BLOCK-----</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>= Email</p>
-</div>
-</li>
-</ol>
-</div>
-<div class="paragraph">
-<p>Official communication related to releases needs to be done with an Apache email address. The Apache Foundation doesn&#8217;t provide any real email inboxes anymore and just relays emails to your configured private account (GMail etc.).</p>
-</div>
-<div class="admonitionblock important">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-important" title="Important"></i>
-</td>
-<td class="content">
-At the moment we are supporting only GMail accounts. Please let us know if you have other configuration recipes for other email providers.
-</td>
-</tr>
-</table>
-</div>
-<div class="sect4">
-<h5 id="_gmail">GMail</h5>
-<div class="paragraph">
-<p>You can configure your GMail account and add another profile to use the Apache relay server if you need to send official messages. Please follow these instructions:</p>
-</div>
-<div class="paragraph">
-<p>TBD.</p>
-</div>
-<div class="paragraph">
-<p>See also: <a href="https://gmail.googleblog.com/2009/07/send-mail-from-another-address-without.html">Send mail from another address without "on behalf of"</a></p>
-</div>
-<div class="paragraph">
-<p>To be able to send emails via SMTP with your GMail account you probably need to create an app password. Please follow these instructions:</p>
-</div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p>Go to your Google Account.</p>
-</li>
-<li>
-<p>Select Security.</p>
-</li>
-<li>
-<p>Under "Signing in to Google," select App Passwords. You may need to sign in. If you don&#8217;t have this option, it might be because:</p>
-</li>
-<li>
-<p>2-Step Verification is not set up for your account.</p>
-</li>
-<li>
-<p>2-Step Verification is only set up for security keys.</p>
-</li>
-<li>
-<p>Your account is through work, school, or other organization.</p>
-</li>
-<li>
-<p>You turned on Advanced Protection.</p>
-</li>
-<li>
-<p>At the bottom, choose Select app and choose the app you using and then Select device and choose the device you&#8217;re using and then Generate.</p>
-</li>
-<li>
-<p>Follow the instructions to enter the App Password. The App Password is the 16-character code in the yellow bar on your device.</p>
-</li>
-<li>
-<p>Tap Done.</p>
-</li>
-</ol>
-</div>
-<div class="paragraph">
-<p>See also: <a href="https://support.google.com/accounts/answer/185833?p=InvalidSecondFactor&amp;visit_id=637856439524128323-869822459&amp;rd=1">Google Support: Sign in with App Passwords</a> for more details.</p>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_2">Gradle</h5>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="sect5">
-<h6 id="_user_properties">User Properties</h6>
-<div class="paragraph">
-<p>There are a couple of properties that contain committer/release manager related secrets. Please add the following properties to your personal global Gradle properties (you will find them at <code>~/.gradle/gradle.properties</code> in your home folder).</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="properties">fineract.config.gnupg.keyName=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890ABCD<i class="conum" data-value="1"></i><b>(1)</b>
-fineract.config.gnupg.password=******
-fineract.config.gnupg.publicKeyring=~/.gnupg/pubring.kbx<i class="conum" data-value="2"></i><b>(2)</b>
-fineract.config.gnupg.secretKeyring=~/.gnupg/secring.gpg
-fineract.config.smtp.username=aleks@gmail.com <i class="conum" data-value="3"></i><b>(3)</b>
-fineract.config.smtp.password=******
-fineract.config.name=Aleksandar Vidakovic
-fineract.config.email=aleks@apache.org
-fineract.config.username=aleks <i class="conum" data-value="4"></i><b>(4)</b>
-fineract.config.password=******</code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>Make sure you use the full GPG key name (you can list yours via <code>gpg --list-secret-keys --keyid-format=long</code>)</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>GnuPG has it&#8217;s own kbx format to store the public key ring. At the moment we are only supporting this format</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>Currently we only have instructions for GMail</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td>Apache committer credentials</td>
-</tr>
-</table>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-<strong>Never</strong> add any personal secrets in the project gradle.properties. Double check that you are not accidentally committing them to Git!
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect5">
-<h6 id="_release_plugin">Release Plugin</h6>
-<div class="paragraph">
-<p>Creating Apache Fineract releases was a very manual and tedious procedure before we created the Gradle release plugin. It was easy - even with documentation - to forget a detail. Some ideas are borrowed from the excellent <a href="https://jreleaser.org">JReleaser</a> tool. Unfortunately at the moment we can&#8217;t use it for the full release process. Being an Apache project we have certain requirements that are not fully covered by <a href="https://jreleaser.org">JReleaser</a>.</p>
-</div>
-<div class="sect6">
-<h7 id="_release_plugin_configuration">Release Plugin Configuration</h7>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="groovy">    config {
-        username = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.username</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-        password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-
-        doc {
-            url = <span class="string"><span class="delimiter">'</span><span class="content">git@github.com:apache/fineract-site.git</span><span class="delimiter">'</span></span>
-            directory = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span><span class="predefined-type">System</span>.getProperty(<span class="string"><span class="delimiter">&quot;</span><span class="content">java.io.tmpdir</span><span class="delimiter">&quot;</span></span>)<span class="inline-delimiter">}</span></span><span class="content">/fineract-site</span><span class="delimiter">&quot;</span></span>
-            branch = <span class="string"><span class="delimiter">&quot;</span><span class="content">asf-site</span><span class="delimiter">&quot;</span></span>
-        }
-        git {
-            dir = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>projectDir.absolutePath<span class="inline-delimiter">}</span></span><span class="content">/.git</span><span class="delimiter">&quot;</span></span>
-            sections = [
-                [
-                    <span class="key">section</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">user</span><span class="delimiter">&quot;</span></span>,
-                    <span class="key">name</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">name</span><span class="delimiter">&quot;</span></span>,
-                    <span class="key">value</span>: <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.name</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>,
-                ],
-                [
-                    <span class="key">section</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">user</span><span class="delimiter">&quot;</span></span>,
-                    <span class="key">name</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">email</span><span class="delimiter">&quot;</span></span>,
-                    <span class="key">value</span>: <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.email</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>,
-                ],
-                [
-                    <span class="key">section</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">user</span><span class="delimiter">&quot;</span></span>,
-                    <span class="key">name</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">signingkey</span><span class="delimiter">&quot;</span></span>,
-                    <span class="key">value</span>: <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.gnupg.keyName</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>,
-                ],
-                [
-                    <span class="key">section</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">commit</span><span class="delimiter">&quot;</span></span>,
-                    <span class="key">name</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">gpgsign</span><span class="delimiter">&quot;</span></span>,
-                    <span class="key">value</span>: <span class="string"><span class="delimiter">&quot;</span><span class="content">true</span><span class="delimiter">&quot;</span></span>,
-                ],
-            ]
-        }
-        template {
-            templateDir = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>projectDir<span class="inline-delimiter">}</span></span><span class="content">/buildSrc/src/main/resources</span><span class="delimiter">&quot;</span></span>
-        }
-        gpg {
-            keyName = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.gnupg.keyName</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-            publicKeyring = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.gnupg.publicKeyring</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-            secretKeyring = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.gnupg.secretKeyring</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-            password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.gnupg.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-        }
-        smtp {
-            host = <span class="string"><span class="delimiter">'</span><span class="content">smtp.gmail.com</span><span class="delimiter">'</span></span>
-            username = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.smtp.username</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-            password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.smtp.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-            tls = <span class="predefined-constant">true</span>
-            ssl = <span class="predefined-constant">true</span>
-        }
-        subversion {
-            username = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.username</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-            password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-            revision = <span class="string"><span class="delimiter">'</span><span class="content">HEAD</span><span class="delimiter">'</span></span>
-        }
-        jira {
-            url = <span class="string"><span class="delimiter">'</span><span class="content">https://issues.apache.org/jira/rest/api/2/</span><span class="delimiter">'</span></span>
-            username = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.username</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-            password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-        }
-        confluence {
-            url = <span class="string"><span class="delimiter">'</span><span class="content">https://cwiki.apache.org/confluence/rest/api/</span><span class="delimiter">'</span></span>
-            username = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.username</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-            password = <span class="string"><span class="delimiter">&quot;</span><span class="inline"><span class="inline-delimiter">${</span>findProperty(<span class="string"><span class="delimiter">'</span><span class="content">fineract.config.password</span><span class="delimiter">'</span></span>)<span class="inline-delimiter">}</span></span><span class="delimiter">&quot;</span></span>
-        }
-    }</code></pre>
-</div>
-</div>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_release_process">Release Process</h3>
-<div class="paragraph">
-<p>TODO:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>create "Jira anchor ticket" with all issues linked that are going into this release.</p>
-</li>
-<li>
-<p>maintenance: continuously update the "Jira anchor ticket" to make sure we catch all ticket changes</p>
-</li>
-<li>
-<p>maintenance: list tickets that have discrepancies, e. g. tickets still open while associated PR merged, ticket on wrong version (i. e. associated PR already merged before with another release).</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>TBD</p>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-Consider the Gradle plugin commands an experimental feature!
-</td>
-</tr>
-</table>
-</div>
-<div class="imageblock">
-<div class="content">
-<img src="data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnIHN0YW5kYWxvbmU9J25vJz8+PHN2ZyBjb250ZW50U2NyaXB0VHlwZT0nYXBwbGljYXRpb24vZWNtYXNjcmlwdCcgY29udGVudFN0eWxlVHlwZT0ndGV4dC9jc3MnIGhlaWdodD0nMTU2OXB4JyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lJyBzdHlsZT0nd2lkdGg6NDA4cHg7aGVpZ2h0OjE1NjlweDtiYWNrZ3JvdW5kOiNGRkZGRkY7JyB2ZXJzaW9uPScxLjEnIHZpZXdCb3g9JzAgMCA0MDggMTU2OScgd2lkdGg9JzQwOHB4JyB4bWxuczp4bGluaz0naHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluaycgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB6b29tQW5kUGFuPSdtYWduaWZ5Jz48ZGVmcz48ZmlsdGVyIGhlaWdodD0nMzAwJScgaWQ9J2ZyZ3YzZWlyN3FmOTcnIHdpZHRoPSczMDAlJyB4PSctMScgeT0nLTEnPjxmZUdhdXNzaWFuQmx1ciByZXN1bHQ9J2JsdXJPdXQnIHN0ZERldmlhdGlvbj0nMi4wJy8+PGZlQ29sb3JNYXRyaXggaW49J2JsdXJPdXQnIHJlc3VsdD0nYmx1ck91dDInIHR5cGU9J21hdHJpeCcgdmFsdWVzPScwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAuNCAwJy8+PGZlT2Zmc2V0IGR4PSc0LjAnIGR5PSc0LjAnIGluPSdibHVyT3V0MicgcmVzdWx0PSdibHVyT3V0MycvPjxmZUJsZW5kIGluPSdTb3VyY2VHcmFwaGljJyBpbjI9J2JsdXJPdXQzJyBtb2RlPSdub3JtYWwnLz48L2ZpbHRlcj48L2RlZnM+PGc+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTgnIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMjIzJyB4PSc4NicgeT0nMTYuNzA4Jz5GaW5lcmFjdCBSZWxlYXNlIFByb2Nlc3M8L3RleHQ+PGVsbGlwc2UgY3g9JzIwMC41JyBjeT0nMzYuOTUzMScgZmlsbD0nIzAwMDAwMCcgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyByeD0nMTAnIHJ5PScxMCcgc3R5bGU9J3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDoxLjA7Jy8+PHJlY3QgZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBoZWlnaHQ9JzMzLjk2ODgnIHJ4PScxMi41JyByeT0nMTIuNScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB3aWR0aD0nMjA5JyB4PSc5NicgeT0nMTI5Ljk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxODknIHg9JzEwNicgeT0nMTUxLjA5MTgnPlN0ZXAgMDogU2VsZWN0IHJlbGVhc2UgbWFuYWdlcjwvdGV4dD48cmVjdCBmaWxsPScjRkVGRUNFJyBmaWx0ZXI9J3VybCgjZnJndjNlaXI3cWY5NyknIGhlaWdodD0nMzMuOTY4OCcgcng9JzEyLjUnIHJ5PScxMi41JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHdpZHRoPSczMDYnIHg9JzQ3LjUnIHk9JzIwNC45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMjg2JyB4PSc1Ny41JyB5PScyMjYuMDkxOCc+U3RlcCAxOiBTZW5kIGhlYWRzLXVwIGVtYWlsIHRvIGRldiBtYWlsaW5nIGxpc3Q8L3RleHQ+PHJlY3QgZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBoZWlnaHQ9JzMzLjk2ODgnIHJ4PScxMi41JyByeT0nMTIuNScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB3aWR0aD0nMTQ5JyB4PScxMjYnIHk9JzI3OS45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTI5JyB4PScxMzYnIHk9JzMwMS4wOTE4Jz5TdGVwIDI6IENsZWFuIHVwIEpJUkE8L3RleHQ+PHJlY3QgZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBoZWlnaHQ9JzMzLjk2ODgnIHJ4PScxMi41JyByeT0nMTIuNScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB3aWR0aD0nMjExJyB4PSc5NScgeT0nMzU0Ljk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxOTEnIHg9JzEwNScgeT0nMzc2LjA5MTgnPlN0ZXAgMzogQ3JlYXRlIGEgcmVsZWFzZSBicmFuY2g8L3RleHQ+PHJlY3QgZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBoZWlnaHQ9JzMzLjk2ODgnIHJ4PScxMi41JyByeT0nMTIuNScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB3aWR0aD0nMTgyJyB4PScxMDkuNScgeT0nNDI5Ljk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxNjInIHg9JzExOS41JyB5PSc0NTEuMDkxOCc+U3RlcCA0OiBGcmVlemUgSklSQSB2ZXJzaW9uPC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzMxMCcgeD0nNDUuNScgeT0nNTA0Ljk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyOTAnIHg9JzU1LjUnIHk9JzUyNi4wOTE4Jz5Db250aW51ZSB3aXRoIGRldmVsb3BtZW50IG9uICdkZXZlbG9wJyBicmFuY2g8L3RleHQ+PHJlY3QgZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBoZWlnaHQ9JzMzLjk2ODgnIHJ4PScxMi41JyByeT0nMTIuNScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB3aWR0aD0nMTc3JyB4PScxMTInIHk9JzU5Mi45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMTU3JyB4PScxMjInIHk9JzYxNC4wOTE4Jz5TdGVwIDU6IENyZWF0ZSByZWxlYXNlIHRhZzwvdGV4dD48cmVjdCBmaWxsPScjRkVGRUNFJyBmaWx0ZXI9J3VybCgjZnJndjNlaXI3cWY5NyknIGhlaWdodD0nMzMuOTY4OCcgcng9JzEyLjUnIHJ5PScxMi41JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHdpZHRoPScxOTEnIHg9JzEwNScgeT0nNjY3Ljk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScxNzEnIHg9JzExNScgeT0nNjg5LjA5MTgnPlN0ZXAgNjogQ3JlYXRlIGEgZGlzdHJpYnV0aW9uPC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzI0NScgeD0nNzgnIHk9Jzc0Mi45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMjI1JyB4PSc4OCcgeT0nNzY0LjA5MTgnPlN0ZXAgNzogU2lnbiB0aGUgZGlzdHJpYnV0aW9uIGFydGlmYWN0czwvdGV4dD48cmVjdCBmaWxsPScjRkVGRUNFJyBmaWx0ZXI9J3VybCgjZnJndjNlaXI3cWY5NyknIGhlaWdodD0nMzMuOTY4OCcgcng9JzEyLjUnIHJ5PScxMi41JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHdpZHRoPSczODInIHg9JzkuNScgeT0nODE3Ljk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSczNjInIHg9JzE5LjUnIHk9JzgzOS4wOTE4Jz5TdGVwIDg6IFVwbG9hZCBkaXN0cmlidXRpb24gYXJ0aWZhY3RzIHRvIHN0YWdpbmcgZW52aXJvbm1lbnQ8L3RleHQ+PHJlY3QgZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBoZWlnaHQ9JzMzLjk2ODgnIHJ4PScxMi41JyByeT0nMTIuNScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB3aWR0aD0nMzIwJyB4PSc0MC41JyB5PSc4OTIuOTUzMScvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzMwMCcgeD0nNTAuNScgeT0nOTE0LjA5MTgnPlN0ZXAgOTogVmVyaWZ5IGRpc3RyaWJ1dGlvbiBpbiBzdGFnaW5nIGVudmlyb25tZW50PC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzI4NicgeD0nNTcuNScgeT0nOTY3Ljk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPScyNjYnIHg9JzY3LjUnIHk9Jzk4OS4wOTE4Jz5TdGVwIDEwOiBTdGFydCB2b3Rpbmcgb24gdGhlIGRldiBtYWlsaW5nIGxpc3Q8L3RleHQ+PHBvbHlnb24gZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBwb2ludHM9JzIwMC41LDEwNDIuOTUzMSwyMTIuNSwxMDU0Ljk1MzEsMjAwLjUsMTA2Ni45NTMxLDE4OC41LDEwNTQuOTUzMSwyMDAuNSwxMDQyLjk1MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41OycvPjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzMyMScgeD0nNDAnIHk9JzExMjAuOTUzMScvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzMwMScgeD0nNTAnIHk9JzExNDIuMDkxOCc+U3RlcCAxMTogQ29uY2x1ZGUgdGhlIHZvdGUgYW5kIGFubm91bmNlIHJlc3VsdHM8L3RleHQ+PHJlY3QgZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBoZWlnaHQ9JzMzLjk2ODgnIHJ4PScxMi41JyByeT0nMTIuNScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB3aWR0aD0nMzg3JyB4PSc3JyB5PScxMTk1Ljk1MzEnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMicgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSczNjcnIHg9JzE3JyB5PScxMjE3LjA5MTgnPlN0ZXAgMTI6IFVwbG9hZCBkaXN0cmlidXRpb24gYXJ0aWZhY3RzIHRvIHJlbGVhc2UgZW52aXJvbm1lbnQ8L3RleHQ+PHJlY3QgZmlsbD0nI0ZFRkVDRScgZmlsdGVyPSd1cmwoI2ZyZ3YzZWlyN3FmOTcpJyBoZWlnaHQ9JzMzLjk2ODgnIHJ4PScxMi41JyByeT0nMTIuNScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjU7JyB3aWR0aD0nMzQzJyB4PScyOScgeT0nMTI3MC45NTMxJy8+PHRleHQgZmlsbD0nIzAwMDAwMCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMTInIGxlbmd0aEFkanVzdD0nc3BhY2luZycgdGV4dExlbmd0aD0nMzIzJyB4PSczOScgeT0nMTI5Mi4wOTE4Jz5TdGVwIDEzOiBDbG9zZSByZWxlYXNlIGJyYW5jaCBhbmQgbWVyZ2UgdG8gJ2RldmVsb3AnPC90ZXh0PjxyZWN0IGZpbGw9JyNGRUZFQ0UnIGZpbHRlcj0ndXJsKCNmcmd2M2VpcjdxZjk3KScgaGVpZ2h0PSczMy45Njg4JyByeD0nMTIuNScgcnk9JzEyLjUnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS41Oycgd2lkdGg9JzI5NycgeD0nNTInIHk9JzEzNDUuOTUzMScvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzI3NycgeD0nNjInIHk9JzEzNjcuMDkxOCc+U3RlcCAxNDogVXBkYXRlIHdlYnNpdGUgKG5vdCB5ZXQgYXV0b21hdGVkKTwvdGV4dD48cmVjdCBmaWxsPScjRkVGRUNFJyBmaWx0ZXI9J3VybCgjZnJndjNlaXI3cWY5NyknIGhlaWdodD0nMzMuOTY4OCcgcng9JzEyLjUnIHJ5PScxMi41JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuNTsnIHdpZHRoPSczMjQnIHg9JzM4LjUnIHk9JzE0MjAuOTUzMScvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzEyJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzMwNCcgeD0nNDguNScgeT0nMTQ0Mi4wOTE4Jz5TdGVwIDE1OiBTZW5kIGVtYWlsIHRvIGFubm91bmNlbWVudCBtYWlsaW5nIGxpc3Q8L3RleHQ+PGVsbGlwc2UgY3g9JzIwMC41JyBjeT0nMTU0Ny45NTMxJyBmaWx0ZXI9J3VybCgjZnJndjNlaXI3cWY5NyknIHJ4PScxMCcgcnk9JzEwJyBzdHlsZT0nc3Ryb2tlOiMwMDAwMDA7c3Ryb2tlLXdpZHRoOjEuMDtmaWxsOm5vbmU7Jy8+PGVsbGlwc2UgY3g9JzIwMScgY3k9JzE1NDguNDUzMScgZmlsbD0nIzAwMDAwMCcgcng9JzYnIHJ5PSc2JyBzdHlsZT0nc3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cGF0aCBkPSdNMjAwLjUsNDcuMTYzMSBDMjAwLjUsNjQuMjMzMSAyMDAuNSwxMDEuMjAzMSAyMDAuNSwxMjQuNzUzMSAnIGZpbGw9J25vbmUnIGlkPSdzdGFydC10by1TdGVwIDA6IFNlbGVjdCByZWxlYXNlIG1hbmFnZXInIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjAwLjUsMTI5Ljg1MzEsMjA0LjUsMTIwLjg1MzEsMjAwLjUsMTI0Ljg1MzEsMTk2LjUsMTIwLjg1MzEsMjAwLjUsMTI5Ljg1MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwYXRoIGQ9J00yMDAuNSwxNjQuMTUzMSBDMjAwLjUsMTc0LjY0MzEgMjAwLjUsMTg4LjQxMzEgMjAwLjUsMTk5Ljc3MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCAwOiBTZWxlY3QgcmVsZWFzZSBtYW5hZ2VyLXRvLVN0ZXAgMTogU2VuZCBoZWFkcy11cCBlbWFpbCB0byBkZXYgbWFpbGluZyBsaXN0JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIwMC41LDIwNC43OTMxLDIwNC41LDE5NS43OTMxLDIwMC41LDE5OS43OTMxLDE5Ni41LDE5NS43OTMxLDIwMC41LDIwNC43OTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cGF0aCBkPSdNMjAwLjUsMjM5LjE1MzEgQzIwMC41LDI0OS42NDMxIDIwMC41LDI2My40MTMxIDIwMC41LDI3NC43NzMxICcgZmlsbD0nbm9uZScgaWQ9J1N0ZXAgMTogU2VuZCBoZWFkcy11cCBlbWFpbCB0byBkZXYgbWFpbGluZyBsaXN0LXRvLVN0ZXAgMjogQ2xlYW4gdXAgSklSQScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDAuNSwyNzkuNzkzMSwyMDQuNSwyNzAuNzkzMSwyMDAuNSwyNzQuNzkzMSwxOTYuNSwyNzAuNzkzMSwyMDAuNSwyNzkuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwMC41LDMxNC4xNTMxIEMyMDAuNSwzMjQuNjQzMSAyMDAuNSwzMzguNDEzMSAyMDAuNSwzNDkuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDI6IENsZWFuIHVwIEpJUkEtdG8tU3RlcCAzOiBDcmVhdGUgYSByZWxlYXNlIGJyYW5jaCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDAuNSwzNTQuNzkzMSwyMDQuNSwzNDUuNzkzMSwyMDAuNSwzNDkuNzkzMSwxOTYuNSwzNDUuNzkzMSwyMDAuNSwzNTQuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwMC41LDM4OS4xNTMxIEMyMDAuNSwzOTkuNjQzMSAyMDAuNSw0MTMuNDEzMSAyMDAuNSw0MjQuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDM6IENyZWF0ZSBhIHJlbGVhc2UgYnJhbmNoLXRvLVN0ZXAgNDogRnJlZXplIEpJUkEgdmVyc2lvbicgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDAuNSw0MjkuNzkzMSwyMDQuNSw0MjAuNzkzMSwyMDAuNSw0MjQuNzkzMSwxOTYuNSw0MjAuNzkzMSwyMDAuNSw0MjkuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwMC41LDQ2NC4xNTMxIEMyMDAuNSw0NzQuNjQzMSAyMDAuNSw0ODguNDEzMSAyMDAuNSw0OTkuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDQ6IEZyZWV6ZSBKSVJBIHZlcnNpb24tdG8tQ29udGludWUgd2l0aCBkZXZlbG9wbWVudCBvbiAmYXBvcztkZXZlbG9wJmFwb3M7IGJyYW5jaCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDAuNSw1MDQuNzkzMSwyMDQuNSw0OTUuNzkzMSwyMDAuNSw0OTkuNzkzMSwxOTYuNSw0OTUuNzkzMSwyMDAuNSw1MDQuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwMC41LDUzOS4xMzMxIEMyMDAuNSw1NTIuODIzMSAyMDAuNSw1NzIuNTYzMSAyMDAuNSw1ODcuNTYzMSAnIGZpbGw9J25vbmUnIGlkPSdDb250aW51ZSB3aXRoIGRldmVsb3BtZW50IG9uICZhcG9zO2RldmVsb3AmYXBvczsgYnJhbmNoLXRvLVN0ZXAgNTogQ3JlYXRlIHJlbGVhc2UgdGFnJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIwMC41LDU5Mi44NTMxLDIwNC41LDU4My44NTMxLDIwMC41LDU4Ny44NTMxLDE5Ni41LDU4My44NTMxLDIwMC41LDU5Mi44NTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48dGV4dCBmaWxsPScjMDAwMDAwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxMScgbGVuZ3RoQWRqdXN0PSdzcGFjaW5nJyB0ZXh0TGVuZ3RoPSc1NycgeD0nMjAxLjUnIHk9JzU3MC4xNjM2Jz4xLTIgd2Vla3M8L3RleHQ+PHBhdGggZD0nTTIwMC41LDYyNy4xNTMxIEMyMDAuNSw2MzcuNjQzMSAyMDAuNSw2NTEuNDEzMSAyMDAuNSw2NjIuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDU6IENyZWF0ZSByZWxlYXNlIHRhZy10by1TdGVwIDY6IENyZWF0ZSBhIGRpc3RyaWJ1dGlvbicgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDAuNSw2NjcuNzkzMSwyMDQuNSw2NTguNzkzMSwyMDAuNSw2NjIuNzkzMSwxOTYuNSw2NTguNzkzMSwyMDAuNSw2NjcuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwMC41LDcwMi4xNTMxIEMyMDAuNSw3MTIuNjQzMSAyMDAuNSw3MjYuNDEzMSAyMDAuNSw3MzcuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDY6IENyZWF0ZSBhIGRpc3RyaWJ1dGlvbi10by1TdGVwIDc6IFNpZ24gdGhlIGRpc3RyaWJ1dGlvbiBhcnRpZmFjdHMnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjAwLjUsNzQyLjc5MzEsMjA0LjUsNzMzLjc5MzEsMjAwLjUsNzM3Ljc5MzEsMTk2LjUsNzMzLjc5MzEsMjAwLjUsNzQyLjc5MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwYXRoIGQ9J00yMDAuNSw3NzcuMTUzMSBDMjAwLjUsNzg3LjY0MzEgMjAwLjUsODAxLjQxMzEgMjAwLjUsODEyLjc3MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCA3OiBTaWduIHRoZSBkaXN0cmlidXRpb24gYXJ0aWZhY3RzLXRvLVN0ZXAgODogVXBsb2FkIGRpc3RyaWJ1dGlvbiBhcnRpZmFjdHMgdG8gc3RhZ2luZyBlbnZpcm9ubWVudCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDAuNSw4MTcuNzkzMSwyMDQuNSw4MDguNzkzMSwyMDAuNSw4MTIuNzkzMSwxOTYuNSw4MDguNzkzMSwyMDAuNSw4MTcuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwMC41LDg1Mi4xNTMxIEMyMDAuNSw4NjIuNjQzMSAyMDAuNSw4NzYuNDEzMSAyMDAuNSw4ODcuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDg6IFVwbG9hZCBkaXN0cmlidXRpb24gYXJ0aWZhY3RzIHRvIHN0YWdpbmcgZW52aXJvbm1lbnQtdG8tU3RlcCA5OiBWZXJpZnkgZGlzdHJpYnV0aW9uIGluIHN0YWdpbmcgZW52aXJvbm1lbnQnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjAwLjUsODkyLjc5MzEsMjA0LjUsODgzLjc5MzEsMjAwLjUsODg3Ljc5MzEsMTk2LjUsODgzLjc5MzEsMjAwLjUsODkyLjc5MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwYXRoIGQ9J00yMDAuNSw5MjcuMTUzMSBDMjAwLjUsOTM3LjY0MzEgMjAwLjUsOTUxLjQxMzEgMjAwLjUsOTYyLjc3MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCA5OiBWZXJpZnkgZGlzdHJpYnV0aW9uIGluIHN0YWdpbmcgZW52aXJvbm1lbnQtdG8tU3RlcCAxMDogU3RhcnQgdm90aW5nIG9uIHRoZSBkZXYgbWFpbGluZyBsaXN0JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIwMC41LDk2Ny43OTMxLDIwNC41LDk1OC43OTMxLDIwMC41LDk2Mi43OTMxLDE5Ni41LDk1OC43OTMxLDIwMC41LDk2Ny43OTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cGF0aCBkPSdNMjAwLjUsMTAwMi4wNzMxIEMyMDAuNSwxMDEyLjg3MzEgMjAwLjUsMTAyNy4wMzMxIDIwMC41LDEwMzcuODMzMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDEwOiBTdGFydCB2b3Rpbmcgb24gdGhlIGRldiBtYWlsaW5nIGxpc3QtdG8tIzY3JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIwMC41LDEwNDIuODQzMSwyMDQuNSwxMDMzLjg0MzEsMjAwLjUsMTAzNy44NDMxLDE5Ni41LDEwMzMuODQzMSwyMDAuNSwxMDQyLjg0MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzExJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzE0MicgeD0nMzguNTMxMycgeT0nMTAzNi4wNzMzJz43MiBob3VycyBvciAzIHllcyB2b3Rlcz88L3RleHQ+PHBhdGggZD0nTTIwMC41LDEwNjcuMjEzMSBDMjAwLjUsMTA3OS43MTMxIDIwMC41LDExMDAuMTYzMSAyMDAuNSwxMTE1LjY5MzEgJyBmaWxsPSdub25lJyBpZD0nIzY3LXRvLVN0ZXAgMTE6IENvbmNsdWRlIHRoZSB2b3RlIGFuZCBhbm5vdW5jZSByZXN1bHRzJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIwMC41LDExMjAuNzUzMSwyMDQuNSwxMTExLjc1MzEsMjAwLjUsMTExNS43NTMxLDE5Ni41LDExMTEuNzUzMSwyMDAuNSwxMTIwLjc1MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjx0ZXh0IGZpbGw9JyMwMDAwMDAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzExJyBsZW5ndGhBZGp1c3Q9J3NwYWNpbmcnIHRleHRMZW5ndGg9JzIwJyB4PScyMDEuNScgeT0nMTA5OC4xNjM2Jz55ZXM8L3RleHQ+PHBhdGggZD0nTTIwMC41LDExNTUuMTUzMSBDMjAwLjUsMTE2NS42NDMxIDIwMC41LDExNzkuNDEzMSAyMDAuNSwxMTkwLjc3MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCAxMTogQ29uY2x1ZGUgdGhlIHZvdGUgYW5kIGFubm91bmNlIHJlc3VsdHMtdG8tU3RlcCAxMjogVXBsb2FkIGRpc3RyaWJ1dGlvbiBhcnRpZmFjdHMgdG8gcmVsZWFzZSBlbnZpcm9ubWVudCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDAuNSwxMTk1Ljc5MzEsMjA0LjUsMTE4Ni43OTMxLDIwMC41LDExOTAuNzkzMSwxOTYuNSwxMTg2Ljc5MzEsMjAwLjUsMTE5NS43OTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cGF0aCBkPSdNMjAwLjUsMTIzMC4xNTMxIEMyMDAuNSwxMjQwLjY0MzEgMjAwLjUsMTI1NC40MTMxIDIwMC41LDEyNjUuNzczMSAnIGZpbGw9J25vbmUnIGlkPSdTdGVwIDEyOiBVcGxvYWQgZGlzdHJpYnV0aW9uIGFydGlmYWN0cyB0byByZWxlYXNlIGVudmlyb25tZW50LXRvLVN0ZXAgMTM6IENsb3NlIHJlbGVhc2UgYnJhbmNoIGFuZCBtZXJnZSB0byAmYXBvcztkZXZlbG9wJmFwb3M7JyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48cG9seWdvbiBmaWxsPScjQTgwMDM2JyBwb2ludHM9JzIwMC41LDEyNzAuNzkzMSwyMDQuNSwxMjYxLjc5MzEsMjAwLjUsMTI2NS43OTMxLDE5Ni41LDEyNjEuNzkzMSwyMDAuNSwxMjcwLjc5MzEnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwYXRoIGQ9J00yMDAuNSwxMzA1LjE1MzEgQzIwMC41LDEzMTUuNjQzMSAyMDAuNSwxMzI5LjQxMzEgMjAwLjUsMTM0MC43NzMxICcgZmlsbD0nbm9uZScgaWQ9J1N0ZXAgMTM6IENsb3NlIHJlbGVhc2UgYnJhbmNoIGFuZCBtZXJnZSB0byAmYXBvcztkZXZlbG9wJmFwb3M7LXRvLVN0ZXAgMTQ6IFVwZGF0ZSB3ZWJzaXRlIChub3QgeWV0IGF1dG9tYXRlZCknIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjAwLjUsMTM0NS43OTMxLDIwNC41LDEzMzYuNzkzMSwyMDAuNSwxMzQwLjc5MzEsMTk2LjUsMTMzNi43OTMxLDIwMC41LDEzNDUuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwMC41LDEzODAuMTUzMSBDMjAwLjUsMTM5MC42NDMxIDIwMC41LDE0MDQuNDEzMSAyMDAuNSwxNDE1Ljc3MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCAxNDogVXBkYXRlIHdlYnNpdGUgKG5vdCB5ZXQgYXV0b21hdGVkKS10by1TdGVwIDE1OiBTZW5kIGVtYWlsIHRvIGFubm91bmNlbWVudCBtYWlsaW5nIGxpc3QnIHN0eWxlPSdzdHJva2U6I0E4MDAzNjtzdHJva2Utd2lkdGg6MS4wOycvPjxwb2x5Z29uIGZpbGw9JyNBODAwMzYnIHBvaW50cz0nMjAwLjUsMTQyMC43OTMxLDIwNC41LDE0MTEuNzkzMSwyMDAuNSwxNDE1Ljc5MzEsMTk2LjUsMTQxMS43OTMxLDIwMC41LDE0MjAuNzkzMScgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBhdGggZD0nTTIwMC41LDE0NTUuMzUzMSBDMjAwLjUsMTQ3Ni4zOTMxIDIwMC41LDE1MTIuNTQzMSAyMDAuNSwxNTMyLjU1MzEgJyBmaWxsPSdub25lJyBpZD0nU3RlcCAxNTogU2VuZCBlbWFpbCB0byBhbm5vdW5jZW1lbnQgbWFpbGluZyBsaXN0LXRvLWVuZCcgc3R5bGU9J3N0cm9rZTojQTgwMDM2O3N0cm9rZS13aWR0aDoxLjA7Jy8+PHBvbHlnb24gZmlsbD0nI0E4MDAzNicgcG9pbnRzPScyMDAuNSwxNTM3Ljc1MzEsMjA0LjUsMTUyOC43NTMxLDIwMC41LDE1MzIuNzUzMSwxOTYuNSwxNTI4Ljc1MzEsMjAwLjUsMTUzNy43NTMxJyBzdHlsZT0nc3Ryb2tlOiNBODAwMzY7c3Ryb2tlLXdpZHRoOjEuMDsnLz48L2c+PC9zdmc+" alt="Diagram" width="423" height="1569">
-</div>
-<div class="title">Figure 5. Release Process Diagram</div>
-</div>
-<div class="sect3">
-<h4 id="_step_1_heads_up_email">Step 1: Heads-Up Email</h4>
-<div class="sect4">
-<h5 id="_description_716">Description</h5>
-<div class="paragraph">
-<p>The RM should, if one doesn&#8217;t already exist, first create a new release umbrella issue in JIRA. This issue is dedicated to tracking (a summary of) any discussion related to the planned new release. An example of such an issue is FINERACT-873 - Release Apache Fineract v1.4.0 RESOLVED.</p>
-</div>
-<div class="paragraph">
-<p>The RM then creates an list of resolved issues &amp; features through an initial check in JIRA for already resolved issues for the release, and then setup a timeline for release branch point. The time for the day the issue list is created to the release branch point must be at least two weeks in order to give the community a chance to prioritize and commit any last minute features and issues they would like to see in the upcoming release.</p>
-</div>
-<div class="paragraph">
-<p>The RM must then send the pointer to the umbrella issue along with the tentative timeline for branch point to the developer lists. Any work identified as release related that needs to be completed should be added as a sub tasks of the umbrella issue to allow all developers and users to see the overall release progress in one place. The umbrella issue shall also link to any issues still requiring clarification whether or not they will make it into the release.</p>
-</div>
-<div class="paragraph">
-<p>The RM should then inform users when the git branch is planned to be created, by sending an email based on this template:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="text">[FINERACT] [PROPOSAL] ๐Ÿ“ฆ New release ${project['fineract.release.version']}
-
-Hello everyone,
-
-... based on our &quot;How to Release Apache Fineract&quot; process documented at https://cwiki.apache.org/confluence/x/DRwIB:
-
-I will create a ${project['fineract.release.version']} branch off develop in our git repository at https://github.com/apache/fineract on ${project['fineract.release.date']}.
-
-The release tracking umbrella issue for tracking all activity in JIRA is FINERACT-${project['fineract.release.issue']!'0000'} (https://issues.apache.org/jira/browse/FINERACT-${project['fineract.release.issue']!'0000'}) for this Fineract ${project['fineract.release.version']}.
-
-If you have any work in progress that you would like to see included in this release, please add &quot;blocking&quot; links to the release JIRA issue.
-
-I am the release manager for this release.
-
-Cheers,
-
-${project['fineract.config.name']}
-
-
-
-๐ŸŽ‰ Powered by Fineract Release Plugin ๐ŸŽŠ</code></pre>
-</div>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep1 -Pfineract.release.issue=1234 -Pfineract.release.date=&quot;Monday, April 25, 2022&quot; -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_2_clean_up_jira">Step 2: Clean Up JIRA</h4>
-<div class="sect4">
-<h5 id="_description_717">Description</h5>
-<div class="paragraph">
-<p>Before a release is done, make sure that any issues that are fixed have their fix version setup correctly.</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="text">project = FINERACT and resolution = fixed and fixVersion is empty</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Move all unresolved JIRA issues which have this release as Fix Version to the next release</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="text">project = FINERACT and fixVersion = 1.6.1-f6e9b993 and status not in ( Resolved, Done, Accepted, Closed )</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>You can also run the following query to make sure that the issues fixed for the to-be-released version look accurate:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="text">project = FINERACT and fixVersion = 1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>Finally, check out the output of the JIRA release note tool to see which tickets are included in the release, in order to do a sanity check.</p>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_2">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep2 -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-This task is not yet automated!
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_3_create_release_branch">Step 3: Create Release Branch</h4>
-<div class="sect4">
-<h5 id="_description_718">Description</h5>
-<div class="paragraph">
-<p>Communicate with the community. You do not need to start a new email thread on the developer mailing list to notify that you are about to branch, just do it ca. 2 weeks after the initial email, or later, based on the discussion on the initial email.</p>
-</div>
-<div class="paragraph">
-<p>You do not need to ask committers to hold off any commits until you have branched finished, as it&#8217;s always possible to fast-forward the branch to latest develop, or cherry-pick last minute changes to it. People should be able to continue working on the develop branch on bug fixes and great new features for the next release while the release process for the current release is being worked through.</p>
-</div>
-<div class="olist arabic">
-<ol class="arabic">
-<li>
-<p>Clone fresh repository copy</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% git clone git@github.com:apache/fineract.git
-% cd fineract</code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>Check that current HEAD points to commit on which you want to base new  release branch. Checkout a particular earlier commit if not.</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% git log <i class="conum" data-value="1"></i><b>(1)</b></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>Check current branch history. HEAD should point to commit that you want to be base for your release branch</td>
-</tr>
-</table>
-</div>
-</li>
-<li>
-<p>Create a new release branch with name "$Version"</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% git checkout -b 1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>Push new branch to Apache Fineract repository</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% git push origin 1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-</li>
-<li>
-<p>Add new release notes in Release Folders. The change list can be swiped from the JIRA release note tool (use the "text" format for the change log). See JIRA Cleanup above to ensure that the release notes generated by this tool are what you are expecting.</p>
-</li>
-<li>
-<p>Send en email announcing the new release branch on the earlier email thread</p>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="text">[FINERACT] [ANNOUNCE] ๐Ÿ”€ ${project['fineract.release.version']} release branch
-
-Hello everyone,
-
-... as previously announced, I've just created the release branch for our upcoming ${project['fineract.release.version']} release.
-
-You can continue working and merging PRs to the develop branch for future releases, as always.
-
-The DRAFT release notes are on https://cwiki.apache.org/confluence/display/FINERACT/${project['fineract.release.version']}+-+Apache+Fineract.  Does anyone see anything missing?
-
-Does anyone have any last minutes changes they would like to see cherry-picked to branch ${project['fineract.release.version']}, or are we good go and actually cut the release based on this branch as it is?
-
-I'll initiate the final stage of actually creating the release on ${project['fineract.release.date']} if nobody objects.
-
-Cheers,
-
-${project['fineract.config.name']}</code></pre>
-</div>
-</div>
-</li>
-</ol>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_3">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep3 -Pfineract.release.date=&quot;Monday, May 10, 2022&quot; -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_4_freeze_jira">Step 4: Freeze JIRA</h4>
-<div class="sect4">
-<h5 id="_description_719">Description</h5>
-<div class="paragraph">
-<p>You first need to close the release in JIRA so that the about to be released version cannot be used as "fixVersion" for new bugs anymore. Go to JIRA "Administer project" page and follow "Versions" in left menu. Table with list of all releases should appear, click on additional menu on the right of your release and choose "Release" option. Submit release date and you&#8217;re done.</p>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_4">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep4</code></pre>
-</div>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-This task is not yet automated!
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_5_create_release_tag">Step 5: Create Release Tag</h4>
-<div class="sect4">
-<h5 id="_description_720">Description</h5>
-<div class="paragraph">
-<p>Next, you create a git tag from the HEAD of the release&#8217;s git branch.</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% git checkout 1.6.1-f6e9b993
-% ./gradlew clean integrationTests <i class="conum" data-value="1"></i><b>(1)</b>
-% git tag -a 1.6.1-f6e9b993 -m &quot;Fineract 1.6.1-f6e9b993 release&quot;
-% git push origin 1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>Run additonally manual tests with the community app.</td>
-</tr>
-</table>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-It is important to create so called annotated tags (vs. lightweight) for releases.
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_5">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep5 -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_6_create_distribution">Step 6: Create Distribution</h4>
-<div class="sect4">
-<h5 id="_description_721">Description</h5>
-<div class="paragraph">
-<p>Create source and binary artifacts. Make sure to do some sanity checks. The tar and the release branch should match.</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% cd /fineract-release-preparations <i class="conum" data-value="1"></i><b>(1)</b>
-% tar -xvf apache-fineract-1.6.1-f6e9b993-src.tar.gz
-% git clone <a href="https://git-wip-us.apache.org/repos/asf/fineract.git" class="bare">git-wip-us.apache.org/repos/asf/fineract.git</a>
-% cd fineract/
-% git checkout tags/1.6.1-f6e9b993
-% cd ..
-% diff -r fineract apache-fineract-1.6.1-f6e9b993-src</code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>Do a fresh clone of the tag.</td>
-</tr>
-</table>
-</div>
-<div class="paragraph">
-<p>Make sure code compiles and tests pass on the uncompressed source.</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% cd apache-fineract-1.6.1-f6e9b993-src/fineract-provider <i class="conum" data-value="1"></i><b>(1)</b>
-% gradlew clean integrationTest <i class="conum" data-value="2"></i><b>(2)</b>
-% gradlew clean build <i class="conum" data-value="3"></i><b>(3)</b>
-% gradlew rat <i class="conum" data-value="4"></i><b>(4)</b></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>Make sure prerequisites are met before running these commands.</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="2"></i><b>2</b></td>
-<td>For running integration tests</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="3"></i><b>3</b></td>
-<td>For building deploy able war</td>
-</tr>
-<tr>
-<td><i class="conum" data-value="4"></i><b>4</b></td>
-<td>For RAT checks</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_6">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep6</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_7_sign_distribution">Step 7: Sign Distribution</h4>
-<div class="sect4">
-<h5 id="_description_722">Description</h5>
-<div class="paragraph">
-<p>All release artifacts must be signed. In order to sign a release you will need a PGP key. You should get your key signed by a few other people. You will also need to receive their keys from a public key server.   See the Apache release signing page for more details. Please follow the steps defined in Release Sign.</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% gpg --armor --output apache-fineract-1.6.1-f6e9b993-src.tar.gz.asc --detach-sig apache-fineract-1.6.1-f6e9b993-src.tar.gz
-% gpg --print-md MD5 apache-fineract-1.6.1-f6e9b993-src.tar.gz &gt; apache-fineract-1.6.1-f6e9b993-src.tar.gz.md5
-% gpg --print-md SHA512 apache-fineract-1.6.1-f6e9b993-src.tar.gz &gt; apache-fineract-1.6.1-f6e9b993-src.tar.gz.sha512
-% gpg --armor --output apache-fineract-1.6.1-f6e9b993--binary.tar.gz.asc --detach-sig apache-fineract-1.6.1-f6e9b993-binary.tar.gz
-% gpg --print-md MD5 apache-fineract-1.6.1-f6e9b993-binary.tar.gz &gt; apache-fineract-1.6.1-f6e9b993-binary.tar.gz.md5
-% gpg --print-md SHA512 apache-fineract-1.6.1-f6e9b993-binary.tar.gz &gt; apache-fineract-1.6.1-f6e9b993-binary.tar.gz.sha512</code></pre>
-</div>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_7">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep7</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_8_upload_distribution_staging">Step 8: Upload Distribution Staging</h4>
-<div class="sect4">
-<h5 id="_description_723">Description</h5>
-<div class="paragraph">
-<p>Finally create a directory with release name (1.6.1-f6e9b993 in this example) in <a href="https://dist.apache.org/repos/dist/dev/fineract" class="bare">dist.apache.org/repos/dist/dev/fineract</a> and add the following files in this new directory:</p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>apache-fineract-1.6.1-f6e9b993-binary.tar.gz.sha</p>
-</li>
-<li>
-<p>apache-fineract-1.6.1-f6e9b993-binary.tar.gz</p>
-</li>
-<li>
-<p>apache-fineract-1.6.1-f6e9b993-binary.tar.gz.asc</p>
-</li>
-<li>
-<p>apache-fineract-1.6.1-f6e9b993-binary.tar.gz.md5</p>
-</li>
-<li>
-<p>apache-fineract-1.6.1-f6e9b993-src.tar.gz.sha</p>
-</li>
-<li>
-<p>apache-fineract-1.6.1-f6e9b993-src.tar.gz</p>
-</li>
-<li>
-<p>apache-fineract-1.6.1-f6e9b993-src.tar.gz.asc</p>
-</li>
-<li>
-<p>apache-fineract-1.6.1-f6e9b993-src.tar.gz.md5</p>
-</li>
-</ul>
-</div>
-<div class="paragraph">
-<p>Upload binary and source archives to ASF&#8217;s distribution dev (staging) area:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% svn co <a href="https://dist.apache.org/repos/dist/dev/fineract/" class="bare">dist.apache.org/repos/dist/dev/fineract/</a> fineract-dist-dev
-% mkdir fineract-dist-dev/1.6.1-f6e9b993
-% cp fineract/build/distributions/* fineract-dist-dev/1.6.1-f6e9b993/
-% svn commit</code></pre>
-</div>
-</div>
-<div class="admonitionblock note">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-note" title="Note"></i>
-</td>
-<td class="content">
-You will need your ASF Committer credentials to be able to access the Subversion host <a href="https://dist.apache.org" class="bare">dist.apache.org</a> via.
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_8">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep8 -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_9_verify_distribution_staging">Step 9: Verify Distribution Staging</h4>
-<div class="sect4">
-<h5 id="_description_724">Description</h5>
-<div class="paragraph">
-<p>Following are the typical things we need to verify before voting on a release candidate. And the release manager should verify them too before calling out a vote.</p>
-</div>
-<div class="paragraph">
-<p>Make sure release artifacts are hosted at <a href="https://dist.apache.org/repos/dist/dev/fineract" class="bare">dist.apache.org/repos/dist/dev/fineract</a></p>
-</div>
-<div class="ulist">
-<ul>
-<li>
-<p>Release candidates should be in format apache-fineract-1.6.1-f6e9b993-binary.tar.gz</p>
-</li>
-<li>
-<p>Verify signatures and hashes. You may have to import the public key of the release manager to verify the signatures. (<code>gpg --recv-key &lt;key id&gt;</code>)</p>
-</li>
-<li>
-<p>Git tag matches the released bits (diff -rf)</p>
-</li>
-<li>
-<p>Can compile successfully from source</p>
-</li>
-<li>
-<p>Verify DISCLAIMER, NOTICE and LICENSE (year etc)</p>
-</li>
-<li>
-<p>All files have correct headers (Rat check should be clean - gradlew rat)</p>
-</li>
-<li>
-<p>No jar files in the source artifacts</p>
-</li>
-<li>
-<p>Integration tests should work</p>
-</li>
-</ul>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_9">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep9 -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-This task is not yet automated!
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_10_start_vote">Step 10: Start Vote</h4>
-<div class="sect4">
-<h5 id="_description_725">Description</h5>
-<div class="paragraph">
-<p>Voting has to be done on <a href="mailto:dev@fineract.apache.org">dev@fineract.apache.org</a>. You can close the vote after voting period expires (72 hours) and you accumulate sufficient votes (minimum 3 x +1 PMC votes).</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="text">[FINERACT] [VOTE] ๐Ÿ—ณ๏ธ ${project['fineract.release.version']} for release
-
-Hello everyone,
-
-... we have created Apache Fineract ${project['fineract.release.version']} release, with the artifacts below up for a vote.
-
-It fixes the following issues: https://cwiki.apache.org/confluence/display/FINERACT/${project['fineract.release.version']}+-+Apache+Fineract
-
-Source &amp; Binary files : https://dist.apache.org/repos/dist/dev/fineract/${project['fineract.release.version']}/
-
-Tag to be voted on (rc#): https://gitbox.apache.org/repos/asf?p=fineract.git;a=commit;h=refs/heads/${project['fineract.release.version']}
-
-Fineract's KEYS containing the PGP key we used to sign the release: https://dist.apache.org/repos/dist/dev/fineract/KEYS
-
-Note that this release contains source and binary artifacts.
-
-This vote will be open for 72 hours:
-
-[ ] +1 approve
-[ ] +0 no opinion
-[ ] -1 disapprove (and reason why)
-
-Cheers,
-
-${project['fineract.config.name']}</code></pre>
-</div>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_10">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep10 -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_11_finish_vote">Step 11: Finish Vote</h4>
-<div class="sect4">
-<h5 id="_description_726">Description</h5>
-<div class="paragraph">
-<p>Upon receiving 3 x +1 from the PMC, or after 72 hours (whichever one comes first), reply to the voting thread and add the prefix "[RESULT]" to the subject line with the results, as follows:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="text">[FINERACT] [VOTE] [RESULT] ๐Ÿงพ๏ธ ${project['fineract.release.version']} for release
-
-&lt;#if (project['fineract.vote'].approve.binding?size + project['fineract.vote'].approve.nonBinding?size &gt; project['fineract.vote'].disapprove.binding?size + project['fineract.vote'].disapprove.nonBinding?size)&gt;
-Voting is now closed and has passed with the following tally,
-
-Binding +1s: ${project['fineract.vote'].approve.binding?size}
-Non binding +1s: ${project['fineract.vote'].approve.nonBinding?size}
-&lt;#else&gt;
-Voting is now closed and has not passed with the following tally,
-
-Binding +1s: ${project['fineract.vote'].approve.binding?size}
-Non binding +1s: ${project['fineract.vote'].approve.nonBinding?size}
-
-Binding -1s: ${project['fineract.vote'].disapprove.binding?size}
-Non binding -1s: ${project['fineract.vote'].disapprove.nonBinding?size}
-&lt;/#if&gt;
-
-Here are the detailed results:
-
-&lt;#list project['fineract.vote'].approve.binding&gt;
-Binding +1s:
-    &lt;#items as item&gt;
-- ${item.name} (${item.email})
-    &lt;/#items&gt;
-&lt;/#list&gt;
-
-
-&lt;#list project['fineract.vote'].approve.nonBinding&gt;
-Non binding +1s:
-    &lt;#items as item&gt;
-- ${item.name} (${item.email})
-    &lt;/#items&gt;
-&lt;/#list&gt;
-
-
-&lt;#list project['fineract.vote'].disapprove.binding&gt;
-Binding -1s:
-    &lt;#items as item&gt;
-- ${item.name} (${item.email})
-    &lt;/#items&gt;
-&lt;/#list&gt;
-
-&lt;#list project['fineract.vote'].disapprove.nonBinding&gt;
-Non binding -1s:
-    &lt;#items as item&gt;
-- ${item.name} (${item.email})
-    &lt;/#items&gt;
-&lt;/#list&gt;
-
-
-&lt;#list project['fineract.vote'].noOpinion.binding&gt;
-Binding +0s:
-    &lt;#items as item&gt;
-- ${item.name} (${item.email})
-    &lt;/#items&gt;
-&lt;/#list&gt;
-
-&lt;#list project['fineract.vote'].noOpinion.nonBinding&gt;
-Non binding +0s:
-    &lt;#items as item&gt;
-- ${item.name} (${item.email})
-    &lt;/#items&gt;
-&lt;/#list&gt;
-
-&lt;#if (project['fineract.vote'].approve.binding?size + project['fineract.vote'].approve.nonBinding?size &gt; project['fineract.vote'].disapprove.binding?size + project['fineract.vote'].disapprove.nonBinding?size)&gt;
-Thanks to everyone who voted! I'll now continue with the rest of the release process.
-&lt;#else&gt;
-Thanks to everyone who voted! Looks like we have to repeat the vote.
-&lt;/#if&gt;
-
-${project['fineract.config.name']}</code></pre>
-</div>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_11">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="text">% ./gradlew fineractReleaseStep11 -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_12_upload_distribution_release">Step 12: Upload Distribution Release</h4>
-<div class="sect4">
-<h5 id="_description_727">Description</h5>
-<div class="paragraph">
-<p>In order to release you have to checkout release repository located on <a href="https://dist.apache.org/repos/dist/release/fineract" class="bare">dist.apache.org/repos/dist/release/fineract</a> and add release artifacts there.</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% svn co <a href="https://dist.apache.org/repos/dist/release/fineract" class="bare">dist.apache.org/repos/dist/release/fineract</a> fineract-release
-% mkdir fineract-release/1.6.1-f6e9b993/
-% cp fineract-dist-dev/1.6.1-f6e9b993/* fineract-release/1.6.1-f6e9b993/
-% svn add fineract-release/1.6.1-f6e9b993/
-% svn commit -m &quot;Fineract Release 1.6.1-f6e9b993&quot; fineract-release/1.6.1-f6e9b993/</code></pre>
-</div>
-</div>
-<div class="paragraph">
-<p>You will now get an automated email from the Apache Reporter Service (<a href="mailto:no-reply@reporter.apache.org">no-reply@reporter.apache.org</a>), subject "Please add your release data for 'fineract'" to add the release data (version and date) to the database on <a href="https://reporter.apache.org/addrelease.html?fineract" class="bare">reporter.apache.org/addrelease.html?fineract</a> (requires PMC membership).</p>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_12">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep12 -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_13_close_release_branch">Step 13: Close Release Branch</h4>
-<div class="sect4">
-<h5 id="_description_728">Description</h5>
-<div class="paragraph">
-<p>As discussed in <a href="https://issues.apache.org/jira/browse/FINERACT-1154">FINERACT-1154</a>, now that everything is final, please do the following to remove the release branch (and just keep the tag), and make sure that everything on the release tag is merged to develop and that e.g. git describe works:</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% git checkout develop
-% git branch -D 1.6.1-f6e9b993
-% git push origin :1.6.1-f6e9b993
-% git checkout develop
-% git checkout -b merge-1.6.1-f6e9b993
-% git merge -s recursive -Xignore-all-space 1.6.1-f6e9b993  <i class="conum" data-value="1"></i><b>(1)</b>
-% git commit
-% git push $USER
-% hub pull-request</code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>Manually resolve merge conflicts, if any</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_13">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep13 -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-This task is not yet automated!
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_14_update_website">Step 14: Update website</h4>
-<div class="sect4">
-<h5 id="_description_729">Description</h5>
-<div class="paragraph">
-<p>Finally update the <a href="https://fineract.apache.org" class="bare">fineract.apache.org</a> website with the latest release details. The website&#8217;s HTML source code is available at <a href="https://github.com/apache/fineract-site" class="bare">github.com/apache/fineract-site</a>.</p>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-This step is not yet updated. We are working on a static site generator setup.
-</td>
-</tr>
-</table>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_14">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep14 <i class="conum" data-value="1"></i><b>(1)</b></code></pre>
-</div>
-</div>
-<div class="colist arabic">
-<table>
-<tr>
-<td><i class="conum" data-value="1"></i><b>1</b></td>
-<td>Currently doing nothing. Will trigger in the future the static site generator and publish on Github.</td>
-</tr>
-</table>
-</div>
-<div class="admonitionblock caution">
-<table>
-<tr>
-<td class="icon">
-<i class="fa icon-caution" title="Caution"></i>
-</td>
-<td class="content">
-This task is not yet automated!
-</td>
-</tr>
-</table>
-</div>
-</div>
-</div>
-<div class="sect3">
-<h4 id="_step_15_announcement_email">Step 15: Announcement Email</h4>
-<div class="sect4">
-<h5 id="_description_730">Description</h5>
-<div class="paragraph">
-<p>Send an email to <code>announce@apache.org</code> (sender address must be <code>@apache.org</code>):</p>
-</div>
-<div class="listingblock">
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="text">[ANNOUNCE] Apache Fineract ${project['fineract.release.version']} Release
-
-The Apache Fineract project is pleased to announce
-the release of Apache Fineract ${project['fineract.release.version']}.
-The release is available for download from
-https://fineract.apache.org/#downloads
-
-Fineract provides a reliable, robust, and affordable solution for entrepreneurs,
-financial institutions, and service providers to offer financial services to the
-world’s 2 billion underbanked and unbanked. Fineract is aimed at innovative mobile
-and cloud-based solutions, and enables digital transaction accounts for all.
-
-This release addressed ${project['fineract.release.issues']?size} issues.
-
-Readme: https://github.com/apache/fineract/blob/${project['fineract.release.version']}/README.md
-
-Release page: https://cwiki.apache.org/confluence/display/FINERACT/${project['fineract.release.version']}+-+Apache+Fineract
-
-List of fixed issues:
-https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=${project['fineract.release.versionId']}&amp;styleName=Html&amp;projectId=${project['fineract.release.projectId']}
-
-For more information on Apache Fineract please visit
-project home page: https://fineract.apache.org
-
-The Apache Fineract Team</code></pre>
-</div>
-</div>
-</div>
-<div class="sect4">
-<h5 id="_gradle_task_15">Gradle Task</h5>
-<div class="listingblock">
-<div class="title">Command</div>
-<div class="content">
-<pre class="CodeRay highlight"><code data-lang="bash">% ./gradlew fineractReleaseStep15 -Pfineract.release.version=1.6.1-f6e9b993</code></pre>
-</div>
-</div>
-</div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
 <h2 id="_frequently_asked_questions">Frequently Asked Questions</h2>
 <div class="sectionbody">
 <div class="paragraph">
@@ -156758,8 +157124,8 @@
 </div>
 <div id="footer">
 <div id="footer-text">
-Version 1.6.1-f6e9b993<br>
-Last updated 2022-05-09 12:38:33 +0200
+Version 1.7.0<br>
+Last updated 2022-05-11 14:08:10 +0200
 </div>
 </div>
 </body>