Официальная подлинная книга «Быстро освойте новые возможности версии PostgreSQL» Пэн Чонг, Гао Юньлун, Ян Шули, Electronic Industry Press, Китайский альянс по продвижению программного обеспечения с открытым исходным кодом Серия технических книг PostgreSOL Branch

Цена: 685руб. (¥32.4)
Артикул: 761651513862
Вес товара: ~0.7 кг. Указан усредненный вес, который может отличаться от фактического. Не включен в цену, оплачивается при получении.
Описание товараPGltZyBjbGFzcz0iZGVzY19hbmNob3IiIGlkPSJkZXNjLW1vZHVsZS0xIiBzcmM9Imh0dHBzOi8vYXNzZXRzLmFsaWNkbi5jb20va2lzc3kvMS4wLjAvYnVpbGQvaW1nbGF6eWxvYWQvc3BhY2ViYWxsLmdpZiI+PGJyPjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7Zm9udC1zaXplOiAxNS4wcHg7Zm9udC13ZWlnaHQ6IGJvbGQ7aGVpZ2h0OiA1MC4wcHg7bGluZS1oZWlnaHQ6IDUwLjBweDtwYWRkaW5nLWxlZnQ6IDEwLjBweDsiPtCS0LLQtdC00LXQvdC40LU8L2Rpdj48YnI+0KEg0LzQvtC80LXQvdGC0LAg0L/RgNC40YHQvtC10LTQuNC90LXQvdC40Y8g0Log0YHQvtC+0LHRidC10YHRgtCy0YMg0LTQsNC90L3Ri9GFIE1vdGlhbmx1biDQsiDQutC+0L3RhtC1IDIwMTkg0LPQvtC00LAg0LDQstGC0L7RgCDQv9GA0L7QtNC+0LvQttCw0LXRgiDQv9C40YHQsNGC0Ywg0YHRgtCw0YLRjNC4LCDRgdCy0Y/Qt9Cw0L3QvdGL0LUg0YEgUG9zdGdyZVNRTCwg0LIg0YDRg9Cx0YDQuNC60LUgUEcgTGV6aGlsZXhpYW5nLiDQkiDQv9C+0YHQu9C10LTQvdC40LUg0LPQvtC00Ysg0Y8g0L3QsNC/0LjRgdCw0Lsg0L3QtdGB0LrQvtC70YzQutC+INGB0YLQsNGC0LXQuSDQviDQvdC+0LLRi9GFINGE0YPQvdC60YbQuNGP0YUg0LrQsNC20LTQvtC5INCy0LXRgNGB0LjQuC7Qn9C+0YHQutC+0LvRjNC60YMg0LIg0LrQsNC20LTQvtC5INCy0LXRgNGB0LjQuCBQb3N0Z3JlU1FMINCy0YvQv9GD0YnQtdC90L4g0LzQvdC+0LbQtdGB0YLQstC+INC90L7QstGL0YUg0YTRg9C90LrRhtC40LksINC/0L7Qu9C90L7RgdGC0YzRjiDQvtGB0LLQvtC40YLRjCDQvdC+0LLRi9C1INCy0L7Qt9C80L7QttC90L7RgdGC0LggUG9zdGdyZVNRTCDQvtGH0LXQvdGMINGB0LvQvtC20L3Qvi7QkiDRjdGC0L7QuSDQutC90LjQs9C1INGC0YnQsNGC0LXQu9GM0L3QviDRgNCw0YHRgdC80LDRgtGA0LjQstCw0Y7RgtGB0Y8g0YHQtdC80Ywg0L7RgdC90L7QstC90YvRhSDQstC10YDRgdC40LkgUG9zdGdyZVNRTDog0L7RgiBQb3N0Z3JlU1FMIDEwINC00L4gUG9zdGdyZVNRTCAxNiwg0L3QsCDQvtGB0L3QvtCy0LUg0L7QsdGJ0LXQtNC+0YHRgtGD0L/QvdGL0YUg0Y3QutGB0L/QtdGA0LjQvNC10L3RgtCw0LvRjNC90YvRhSDRgNGD0LrQvtCy0L7QtNGB0YLQsiDQv9C+INC90L7QstGL0Lwg0YTRg9C90LrRhtC40Y/QvCwg0YHRgtCw0YLQtdC5LCDQv9C+0YHQstGP0YnQtdC90L3Ri9GFINC90L7QstGL0Lwg0YTRg9C90LrRhtC40Y/QvCwg0YHQv9C40YHQutC+0LIg0YDQsNGB0YHRi9C70LrQuCwg0LHQu9C+0LPQvtCyLCDRgdCy0Y/Qt9Cw0L3QvdGL0YUg0YEg0L7RgdC90L7QstC90YvQvNC4INGD0YfQsNGB0YLQvdC40LrQsNC80Lgg0YHQvtC+0LHRidC10YHRgtCy0LAsINC+0YTQuNGG0LjQsNC70YzQvdGL0YUg0L/RgNC40LzQtdGH0LDQvdC40Lkg0Log0LLRi9C/0YPRgdC60YMg0Lgg0YIuINC0Liwg0Lgg0L/RgNC10LTRgdGC0LDQstC70LXQvdGLINC+0L3QuCDRgSDQv9GP0YLQuCDQsNGB0L/QtdC60YLQvtCyOiDQvtGB0L3QvtCy0L3QsNGPINC/0YDQvtC40LfQstC+0LTQuNGC0LXQu9GM0L3QvtGB0YLRjCwg0L3QsNC00LXQttC90L7RgdGC0YwsINGD0L/RgNCw0LLQu9C10L3QuNC1INGN0LrRgdC/0LvRg9Cw0YLQsNGG0LjQtdC5INC4INC+0LHRgdC70YPQttC40LLQsNC90LjQtdC8LCDQv9GA0L7RgdGC0L7RgtCwINGA0LDQt9GA0LDQsdC+0YLQutC4INC4INGB0LjRgdGC0LXQvNC90YvQuSDRg9GA0L7QstC10L3RjC7QkiDQvdGL0L3QtdGI0L3QuNGFINC+0YLQtdGH0LXRgdGC0LLQtdC90L3Ri9GFINC4INC30LDRgNGD0LHQtdC20L3Ri9GFINGD0YHQu9C+0LLQuNGP0YUgUG9zdGdyZVNRTCDQv9C+0YHRgtC+0Y/QvdC90L4g0YDQsNGB0YLQtdGCLiDQrdGC0LAg0LrQvdC40LPQsCDQv9C+0LzQvtCz0LDQtdGCINGH0LjRgtCw0YLQtdC70Y/QvCDQvtGB0LLQvtC40YLRjCDQv9GA0LDQstC40LvRjNC90L7QtSDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDQsdCw0LfRiyDQtNCw0L3QvdGL0YUg0YEg0YLQvtGH0LrQuCDQt9GA0LXQvdC40Y8g0L3QvtCy0YvRhSDRhNGD0L3QutGG0LjQuS48aW1nIGNsYXNzPSJkZXNjX2FuY2hvciIgaWQ9ImRlc2MtbW9kdWxlLTIiIHNyYz0iaHR0cHM6Ly9hc3NldHMuYWxpY2RuLmNvbS9raXNzeS8xLjAuMC9idWlsZC9pbWdsYXp5bG9hZC9zcGFjZWJhbGwuZ2lmIj48YnI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtmb250LXNpemU6IDE1LjBweDtmb250LXdlaWdodDogYm9sZDtoZWlnaHQ6IDUwLjBweDtsaW5lLWhlaWdodDogNTAuMHB4O3BhZGRpbmctbGVmdDogMTAuMHB4OyI+0J7Qs9C70LDQstC70LXQvdC40LU8L2Rpdj48YnI+KtCT0LvQsNCy0LAgMSDQndC+0LLRi9C1INCy0L7Qt9C80L7QttC90L7RgdGC0LggUG9zdGdyZVNRTCAxMCAxPGJyPjEuMSDQntGB0L3QvtCy0L3Ri9C1INGD0LvRg9GH0YjQtdC90LjRjyDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjNC90L7RgdGC0Lgg0LIgUG9zdGdyZVNRTCAxMCAxPGJyPjEuMS4xINCg0LDQt9C00LXQuyDQtNCw0L3QvdGL0YUgMTxicj4xLjEuMiDQn9Cw0YDQsNC70LvQtdC70YzQvdC+0LUg0YPQu9GD0YfRiNC10L3QuNC1INGE0YPQvdC60YbQuNC5IDE8YnI+MS4xLjMg0KDQsNGB0YjQuNGA0LXQvdC40LUg0YHRgtCw0YLQuNGB0YLQuNGH0LXRgdC60L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuCAyPGJyPjEuMS40INCj0LvRg9GH0YjQtdC90LjQtSDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjNC90L7RgdGC0Lgg0YLRgNC40LPQs9C10YDQsCBBRlRFUiA0PGJyPjEuMS41INCQ0LPRgNC10LPQsNGC0L3QsNGPINC+0L/QtdGA0LDRhtC40Y8g0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINC/0L7QvdC40LbQtdC90LjQtSDRg9GA0L7QstC90Y8gNTxicj4xLjIg0J/QvtCy0YvRiNC10L3QuNC1INC90LDQtNC10LbQvdC+0YHRgtC4IFBvc3RncmVTUUwgMTAgNzxicj4xLjIuMSDQktCy0LXQtNC10L3QuNC1INCw0YDQsdC40YLRgNCw0LbQvdC+0LPQviDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyA3PGJyPjEuMi4yIEhBU0gt0LjQvdC00LXQutGBINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQt9Cw0L/QuNGB0YwgV0FMIDg8YnI+MS4yLjMg0J7QsdC90LDRgNGD0LbQtdC90LjQtSDRgdGC0LDRgtGD0YHQsCDRhNC40LrRgdCw0YbQuNC4INGC0YDQsNC90LfQsNC60YbQuNC4IDg8YnI+MS4zINCe0L/RgtC40LzQuNC30LDRhtC40Y8g0YPQv9GA0LDQstC70LXQvdC40Y8g0Y3QutGB0L/Qu9GD0LDRgtCw0YbQuNC10Lkg0Lgg0L7QsdGB0LvRg9C20LjQstCw0L3QuNC10LwgUG9zdGdyZVNRTCAxMCA5PGJyPjEuMy4xINCj0LLQtdC70LjRh9C10L3QuNC1INGA0LDQt9C80LXRgNCwINGE0LDQudC70LAgV0FMIDk8YnI+MS4zLjIgV0FMINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQvtC90LvQsNC50L0t0YHQttCw0YLQuNC1IDEwPGJyPjEuMy4zINCS0LLQtdC00LXQvdC40LUg0YHRgtCw0L3QtNCw0YDRgtC90L7QuSDQsdC40LHQu9C40L7RgtC10LrQuCBJQ1UgMTA8YnI+MS4zLjQg0KPQu9GD0YfRiNC10L3QuNC1INC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNGPINCw0LrRgtC40LLQvdC+0LPQviDRgdC10LDQvdGB0LAgMTA8YnI+MS4zLjUg0J3QvtCy0YvQuSDRgdC40YHRgtC10LzQvdGL0Lkg0LLQuNC0INC00LvRjyDRhNCw0LnQu9C+0LIgSEJBIDExPGJyPjEuMy42INCf0L7QtNC60L7QvNCw0L3QtNCwINC/0YDQvtC00LLQuNC20LXQvdC40Y8g0LTQvtCx0LDQstC70Y/QtdGCINGA0LXQttC40Lwg0L7QttC40LTQsNC90LjRjyAxMi48YnI+MS4zLjcg0JHQsNC30L7QstGL0LUg0YPQu9GD0YfRiNC10L3QuNGPINGA0LXQt9C10YDQstC90L7Qs9C+INC60L7Qv9C40YDQvtCy0LDQvdC40Y8gMTI8YnI+MS4zLjgg0JLQstC10LTQtdC90LjQtSDQstGA0LXQvNC10L3QvdC+0LPQviDRgdC70L7RgtCwINGA0LXQv9C70LjQutCw0YbQuNC4IDEzPGJyPjEuMy45INCe0L/RgtC40LzQuNC30LDRhtC40Y8g0L/QvtC70LjRgtC40LrQuCDQsdC10LfQvtC/0LDRgdC90L7RgdGC0Lgg0L3QsCDRg9GA0L7QstC90LUg0YHRgtGA0L7QuiAxMzxicj4xLjMuMTAg0JjQvdGB0YLRgNGD0LzQtdC90YLRiyBQU1FMINC00L7Qv9GD0YHQutCw0Y7RgiDRg9GB0LvQvtCy0L3Ri9C1INCy0LfQsNC40LzQvtC00LXQudGB0YLQstC40Y8gMTU8YnI+MS40IFBvc3RncmVTUUwgMTAg0YPQv9GA0L7RidCw0LXRgiDRgNCw0LfRgNCw0LHQvtGC0LrRgyAxNTxicj4xLjQuMSDQktCy0LXQtNC10L3QuNC1INC00LXQutC70LDRgNCw0YLQuNCy0L3QvtCz0L4g0YHQtdC60YbQuNC+0L3QuNGA0L7QstCw0L3QuNGPIDE1PGJyPjEuNC4yINCf0YPQsdC70LjQutCw0YbQuNGPINC4INC/0L7QtNC/0LjRgdC60LAg0L3QsCDQtNCw0L3QvdGL0LUg0L3QsCDRg9GA0L7QstC90LUg0YLQsNCx0LvQuNGGIDE3PGJyPjEuNC4zINCS0LLQtdC00LXQvdC40LUg0LjQtNC10L3RgtC40YTQuNC60LDRhtC40L7QvdC90L7Qs9C+INGB0YLQvtC70LHRhtCwIDE4PGJyPjEuNC40INCf0L7Qu9C90L7RgtC10LrRgdGC0L7QstGL0Lkg0L/QvtC40YHQuiDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0YLQuNC/0Ysg0LTQsNC90L3Ri9GFIEpTT04g0LggSlNPTkIgMjE8YnI+MS40LjUg0JLQstC10LTQtdC90LjQtSDRhNGD0L3QutGG0LjQuCB4bWx0YWJsZSAyMjxicj4xLjUg0JjQt9C80LXQvdC10L3QuNGPINGB0LjRgdGC0LXQvNC90L7Qs9C+INGD0YDQvtCy0L3RjyDQsiBQb3N0Z3JlU1FMIDEwIDI0PGJyPjEuNS4xINCf0LXRgNC10LjQvNC10L3QvtCy0LDQvdC40LUgWExPRyAyNDxicj4xLjUuMiDQktCy0LXQtNC10L3QuNC1INGB0LjRgdGC0LXQvNC90YvRhSDQvNC10YLQsNC00LDQvdC90YvRhSAyNTxicj4xLjUuMyDQktCy0LXQtNC10L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQvtCyINC60L7QvdGE0LjQs9GD0YDQsNGG0LjQuCAyNjxicj4xLjUuNCDQo9C70YPRh9GI0LXQvdC90LDRjyDQsdC10LfQvtC/0LDRgdC90L7RgdGC0Ywg0YjQuNGE0YDQvtCy0LDQvdC40Y8g0L/QsNGA0L7Qu9C10LkgMjY8YnI+MS41LjUg0JjQt9C80LXQvdC10L3QuNC1INC/0YDQtdC00YPRgdGC0LDQvdC+0LLQu9C10L3QvdGL0YUg0YDQvtC70LXQuSAyNjxicj4xLjUuNiDQmNC30LzQtdC90LXQvdC40Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7Qs9C+INC80L7QtNGD0LvRjyAyNzxicj4xLjYg0KHQstC+0LTQutCwINGN0YLQvtC5INCz0LvQsNCy0YsgMjc8YnI+KtCT0LvQsNCy0LAgMiDQndC+0LLRi9C1INCy0L7Qt9C80L7QttC90L7RgdGC0LggUG9zdGdyZVNRTCAxMSAyODxicj4yLjEg0J7RgdC90L7QstC90YvQtSDRg9C70YPRh9GI0LXQvdC40Y8g0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70YzQvdC+0YHRgtC4INCyIFBvc3RncmVTUUwgMTEgMjg8YnI+Mi4xLjEg0J3QsNGB0YLRgNCw0LjQstCw0LXQvNGL0LkgV0FMIDI4PGJyPjIuMS4yINCf0LDRgNCw0LvQu9C10LvRjNC90L7QtSDRgdC+0LfQtNCw0L3QuNC1INC40L3QtNC10LrRgdCwIEIt0LTQtdGA0LXQstCwIDI5PGJyPjIuMS4zINCe0L/QtdGA0LDRhtC40LggSEFTSCDQuCDQvtC/0LXRgNCw0YbQuNC4IEhBU0ggSk9JTiDQv9C+0LTQtNC10YDQttC40LLQsNGO0YIg0L/QsNGA0LDQu9C70LXQu9C40LfQvCAzMDxicj4yLjEuNCDQn9C+0LTQtNC10YDQttC60LAg0LTRgNGD0LPQuNGFINC/0LDRgNCw0LvQu9C10LvRjNC90YvRhSDRhNGD0L3QutGG0LjQuSAzMTxicj4yLjEuNSDQktCy0LXQtNC10L3QuNC1INC40L3QtNC10LrRgdCwINCy0YvRgNCw0LbQtdC90LjRjyAzMjxicj4yLjEuNiDQktCy0LXQtNC10L3QuNC1INC40L3QtNC10LrRgdCwINC/0L7QutGA0YvRgtC40Y8gMzM8YnI+Mi4xLjcg0JLQstC10LTQtdC90LjQtSDQsiDQutC+0LzQv9C40LvRj9GG0LjRjiDQsiDRgNC10LDQu9GM0L3QvtC8INCy0YDQtdC80LXQvdC4IDM0PGJyPjIuMS44INCj0LvRg9GH0YjQtdC90LjRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDQutGN0YjQtdC8IDM1PGJyPjIuMS45INCe0L/QtdGA0LDRhtC40LggVVBEQVRFINC4IERFTEVURSDQv9C+0LTQtNC10YDQttC40LLQsNGO0YIg0L/QvtC90LjQttC10L3QuNC1INGD0YDQvtCy0L3RjyAzNTxicj4yLjIg0J/QvtCy0YvRiNC10L3QuNC1INC90LDQtNC10LbQvdC+0YHRgtC4IFBvc3RncmVTUUwgMTEgMzY8YnI+Mi4yLjEg0J7QsdC90LDRgNGD0LbQtdC90LjQtSDQutC+0L3RgtGA0L7Qu9GM0L3QvtC5INGB0YPQvNC80Ysg0LHQu9C+0LrQsCDQtNCw0L3QvdGL0YUgMzY8YnI+Mi4yLjIg0J7QsdC90LDRgNGD0LbQtdC90LjQtSDQv9C+0LLRgNC10LbQtNC10L3QvdGL0YUg0LHQu9C+0LrQvtCyINC40L3QtNC10LrRgdCwIEIt0LTQtdGA0LXQstCwIDM3PGJyPjIuMi4zINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQv9GA0L7RgdCwINGA0LDRgdGI0LjRgNC10L0g0YEgMzIg0LHQuNGCINC00L4gNjQg0LHQuNGCIDM3PGJyPjIuMyDQntC/0YLQuNC80LjQt9Cw0YbQuNGPINGD0L/RgNCw0LLQu9C10L3QuNGPINGN0LrRgdC/0LvRg9Cw0YLQsNGG0LjQtdC5INC4INC+0LHRgdC70YPQttC40LLQsNC90LjQtdC8IFBvc3RncmVTUUwgMTEgMzg8YnI+Mi4zLjEg0JHRi9GB0YLRgNC+0LUg0LTQvtCx0LDQstC70LXQvdC40LUg0YHRgtC+0LvQsdGG0L7QsiAzODxicj4yLjMuMiDQntC/0LXRgNCw0YbQuNC4INC+0LHRgdC70YPQttC40LLQsNC90LjRjyDQv9C+0LTQtNC10YDQttC40LLQsNGO0YIg0L3QtdGB0LrQvtC70YzQutC+INGC0LDQsdC70LjRhiA0MDxicj4yLjMuMyDQodC10LrRhtC40L7QvdC40YDQvtCy0LDQvdC90YvQtSDQtNCw0L3QvdGL0LUg0L/QvtC00LTQtdGA0LbQuNCy0LDRjtGCINC30LDQs9GA0YPQt9C60YMg0YfQtdGA0LXQtyDRgNC+0LTQuNGC0LXQu9GM0YHQutC40LUg0YLQsNCx0LvQuNGG0YsgNDA8YnI+Mi4zLjQg0JTQvtCx0LDQstC70LXQvSDRgdC40LPQvdCw0LsgS0lMTCA0MDxicj4yLjMuNSBXQUwg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINCw0LLRgtC+0L3QvtC80L3Rg9GOINGA0LXQutC+0L3RgdGC0YDRg9C60YbQuNGOIDQwPGJyPjIuMy42INCY0L3RgdGC0YDRg9C80LXQvdGCIFBTUUwg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGCINCy0YvQv9C+0LvQvdC10L3QuNC1INC+0L/QtdGA0LDRgtC+0YDQvtCyINC30LDQv9C40YHQuCA0MTxicj4yLjQg0J/QvtCy0YvRiNC10L3QvdCw0Y8g0L/RgNC+0YHRgtC+0YLQsCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyBQb3N0Z3JlU1FMINC/0YDQuCDRgNCw0LfRgNCw0LHQvtGC0LrQtSAxMSA0Mjxicj4yLjQuMSDQo9C70YPRh9GI0LXQvdC40LUg0LTQtdC60LvQsNGA0LDRgtC40LLQvdC+0LPQviDRgdC10LrRhtC40L7QvdC40YDQvtCy0LDQvdC40Y8gNDI8YnI+Mi40LjIg0KXRgNCw0L3QuNC80YvQtSDQv9GA0L7RhtC10LTRg9GA0YssINC/0L7QtNC00LXRgNC20LjQstCw0Y7RidC40LUg0YPQv9GA0LDQstC70LXQvdC40LUg0YLRgNCw0L3Qt9Cw0LrRhtC40Y/QvNC4IDQzPGJyPjIuNC4zINCb0L7Qs9C40YfQtdGB0LrQsNGPINGA0LXQv9C70LjQutCw0YbQuNGPINC/0L7QtNC00LXRgNC20LjQstCw0LXRgiDQvtC/0LXRgNCw0YbQuNGOIFRSVU5DQVRFIDQ0PGJyPjIuNC40INCj0LvRg9GH0YjQtdC90LjQtSDRhNGD0L3QutGG0LjQuCDQvtC60L3QsCA0NDxicj4yLjUg0JjQt9C80LXQvdC10L3QuNGPINGB0LjRgdGC0LXQvNC90L7Qs9C+INGD0YDQvtCy0L3RjyDQsiBQb3N0Z3JlU1FMIDExIDQ1PGJyPjIuNS4xINCS0LLQtdC00LXQvdC40LUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IDQ1PGJyPjIuNS4yINCY0LfQvNC10L3QtdC90LjQtSDQv9GA0LXQtNGD0YHRgtCw0L3QvtCy0LvQtdC90L3Ri9GFINGA0L7Qu9C10LkgNDY8YnI+Mi41LjMg0JTQtdC70LXQs9C40YDQvtCy0LDQvdC40LUg0L/QvtC70L3QvtC80L7Rh9C40Lkg0YHRg9C/0LXRgNC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyA0Njxicj4yLjUuNCDQmNC30LzQtdC90LXQvdC40Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7Qs9C+INC80L7QtNGD0LvRjyA0Nzxicj4yLjYg0KDQtdC30Y7QvNC1INGN0YLQvtC5INCz0LvQsNCy0YsgNDc8YnI+0JPQu9Cw0LLQsCAzLiDQndC+0LLRi9C1INCy0L7Qt9C80L7QttC90L7RgdGC0LggUG9zdGdyZVNRTCAxMiA0ODxicj4zLjEg0J7RgdC90L7QstC90YvQtSDRg9C70YPRh9GI0LXQvdC40Y8g0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70YzQvdC+0YHRgtC4INCyIFBvc3RncmVTUUwgMTIgNDg8YnI+My4xLjEg0J7Qv9GC0LjQvNC40LfQsNGG0LjRjyBDVEUgNDg8YnI+My4xLjIg0J/QvtCy0YvRiNC10L3QuNC1INGN0YTRhNC10LrRgtC40LLQvdC+0YHRgtC4INC40L3QtNC10LrRgdCwIDUwPGJyPjMuMS4zINCe0L/RgtC40LzQuNC30LDRhtC40Y8g0YTRg9C90LrRhtC40Lkg0YHQuNGB0YLQtdC80YsgNTE8YnI+My4yINCe0L/RgtC40LzQuNC30LDRhtC40Y8g0YPQv9GA0LDQstC70LXQvdC40Y8g0Y3QutGB0L/Qu9GD0LDRgtCw0YbQuNC10Lkg0Lgg0L7QsdGB0LvRg9C20LjQstCw0L3QuNC10LwgUG9zdGdyZVNRTCAxMiA1MTxicj4zLjIuMSDQo9C/0YDQsNCy0LvQtdC90LjQtSDQv9C10YDQtdC60LvRjtGH0LDRgtC10LvQtdC8INC60L7QvdGC0YDQvtC70YzQvdC+0Lkg0YHRg9C80LzRiyA1MTxicj4zLjIuMiDQpNC40LvRjNGC0YDQsNGG0LjRjyDQtNCw0L3QvdGL0YUg0LrQvtC80LDQvdC00YsgQ09QWSBGUk9NIDUyPGJyPjMuMi4zINCj0L/RgNCw0LLQu9C10L3QuNC1INGC0LDQudC8LdCw0YPRgtC+0Lwg0YDQtdC/0LvQuNC60LDRhtC40Lgg0L/QvtGC0L7QutCwINC90LAg0YPRgNC+0LLQvdC1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyA1Mjxicj4zLjIuNCDQn9GA0L7Qv9GD0YHQuiDQsdC70L7QutC40YDQvtCy0LrQuCDQvtC/0LXRgNCw0YbQuNC5INCS0JDQmtCj0KPQnCDQuCDQkNCd0JDQm9CY0JcgNTM8YnI+My4yLjUg0J7Rh9C40YHRgtC60LAg0Lgg0YDQsNC30LTQtdC70LXQvdC40LUg0YLQsNCx0LvQuNGGINC4INC40L3QtNC10LrRgdC+0LIgNTQ8YnI+My4yLjYg0JjQvdC00LXQutGB0L3QsNGPINC+0L3Qu9Cw0LnQvS3RgNC10LrQvtC90YHRgtGA0YPQutGG0LjRjyA1NDxicj4zLjIuNyDQkiDQv9C70LDQvdC1INCy0YvQv9C+0LvQvdC10L3QuNGPINC+0YLQvtCx0YDQsNC20LDRjtGC0YHRjyDQv9Cw0YDQsNC80LXRgtGA0YssINC+0YLQu9C40YfQvdGL0LUg0L7RgiDQt9C90LDRh9C10L3QuNC5INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIDU1PGJyPjMuMi44INCf0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INC+0YLRh9C10YLQsCDQviDRhdC+0LTQtSDRhNC+0L3QvtCy0L7QuSDQvtC/0LXRgNCw0YbQuNC4IDU2PGJyPjMuMi45INCe0LHQvdC+0LLQu9C10L3QuNC1INGA0LXQt9C10YDQstC90L7QuSDQsdCw0LfRiyDQtNCw0L3QvdGL0YUg0LTQviDQvtGB0L3QvtCy0L3QvtC5INCx0LDQt9GLINC00LDQvdC90YvRhSDQuCDQvtGC0LrRgNGL0YLQuNC1INC40L3RgtC10YDRhNC10LnRgdCwIFNRTCA1Nzxicj4zLjIuMTAg0JTQvtCx0LDQstC70LXQvdCwINGB0YHRi9C70LrQsCDQvdCwINGB0L/RgNCw0LLQutGDINC/0L4g0LjQvdGB0YLRgNGD0LzQtdC90YLRgyBQU1FMIDU3PGJyPjMuMyDQo9C70YPRh9GI0LXQvdC40LUg0L/RgNC+0YHRgtC+0YLRiyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyBQb3N0Z3JlU1FMIDEyIDU4PGJyPjMuMy4xINCj0LvRg9GH0YjQtdC90LjQtSDQtNC10LrQu9Cw0YDQsNGC0LjQstC90L7Qs9C+INGB0LXQutGG0LjQvtC90LjRgNC+0LLQsNC90LjRjyA1ODxicj4zLjMuMiDQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDRgdGC0L7Qu9Cx0YbQsCDRhdGA0LDQvdC40LvQuNGJ0LAg0L7Qv9C10YDQsNGG0LjQuSA1OTxicj4zLjMuMyDQktCy0LXQtNC10L3QuNC1INCyINC+0YLRgdC70LXQttC40LLQsNC90LjQtSDQv9C10YDQtdC80LXQvdC90YvRhSDQv9GA0LjQstGP0LfQutC4IDYwPGJyPjMuMy40INCX0L3QsNC60L7QvNGB0YLQstC+INGBINC/0YPRgtC10LwgU1FML0pTT04gNjE8YnI+My4zLjUg0KPQu9GD0YfRiNC10L3QuNC1INGC0LjQv9CwINC00LDQvdC90YvRhSDQv9C10YDQtdGH0LjRgdC70LXQvdC40Y8gNjM8YnI+My40INCY0LfQvNC10L3QtdC90LjRjyDRgdC40YHRgtC10LzQvdC+0LPQviDRg9GA0L7QstC90Y8g0LIgUG9zdGdyZVNRTCAxMiA2Mzxicj4zLjQuMSDQntGC0LrRgNGL0YLQuNC1INC80LXRhdCw0L3QuNC30LzQsCDRhdGA0LDQvdC10L3QuNGPINGB0YLQvtC70LAgNjM8YnI+My40LjIg0J7Qv9GC0LjQvNC40LfQsNGG0LjRjyDQutC+0L3RhNC40LPRg9GA0LDRhtC40LgsINGB0LLRj9C30LDQvdC90L7QuSDRgSDQstC+0YHRgdGC0LDQvdC+0LLQu9C10L3QuNC10LwgNjQ8YnI+My40LjMg0JLQstC10LTQtdC90LjQtSDRgdC40YHRgtC10LzQvdGL0YUg0LzQtdGC0LDQtNCw0L3QvdGL0YUgNjQ8YnI+My40LjQg0JLQstC10LTQtdC90LjQtSDQv9Cw0YDQsNC80LXRgtGA0L7QsiDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggNjU8YnI+My40LjUg0J7Qv9GC0LjQvNC40LfQsNGG0LjRjyDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgdC+0LXQtNC40L3QtdC90LjQuSDQv9C+0YLQvtC60L7QstC+0Lkg0YDQtdC/0LvQuNC60LDRhtC40LggNjY8YnI+My40LjYg0J/RgNC10LTQvtGC0LLRgNCw0YnQtdC90LjQtSBET1Mt0LDRgtCw0LogNjY8YnI+My40Ljcg0KPQv9GA0LDQstC70Y/QtdC80YvQuSDQv9GA0L7RgtC+0LrQvtC7IFNTTCA2Nzxicj4zLjQuOCDQmNC30LzQtdC90LXQvdC40Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7Qs9C+INC80L7QtNGD0LvRjyA2Nzxicj4zLjUg0KHQstC+0LTQutCwINGN0YLQvtC5INCz0LvQsNCy0YsgNjc8YnI+0JPQu9Cw0LLQsCA0LiDQndC+0LLRi9C1INCy0L7Qt9C80L7QttC90L7RgdGC0LggUG9zdGdyZVNRTCAxMyA2ODxicj40LjEg0J7RgdC90L7QstC90YvQtSDRg9C70YPRh9GI0LXQvdC40Y8g0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70YzQvdC+0YHRgtC4INCyIFBvc3RncmVTUUwgMTMgNjg8YnI+NC4xLjEg0JTQtdC00YPQv9C70LjQutCw0YbQuNGPINC40L3QtNC10LrRgdCwIDY4PGJyPjQuMS4yINCY0L3QutGA0LXQvNC10L3RgtC90LDRjyDRgdC+0YDRgtC40YDQvtCy0LrQsCA3MDxicj40LjEuMyDQn9Cw0YDQsNC70LvQtdC70YzQvdCw0Y8g0YDQtdC60L7QvdGB0YLRgNGD0LrRhtC40Y8g0LjQvdC00LXQutGB0L7QsiDRg9GA0L7QstC90Y8g0LHQsNC30Ysg0LTQsNC90L3Ri9GFIDcxPGJyPjQuMS40LiDQkNCz0YDQtdCz0LDRhtC40Y8gSEFTSCDQvNC+0LbQtdGCINC/0LXRgNC10L/QvtC70L3QuNGC0YzRgdGPINC90LAg0LTQuNGB0LogNzIuPGJyPjQuMS41INCf0LDRgNCw0LvQu9C10LvRjNC90LDRjyDQvtGH0LjRgdGC0LrQsCDQuNC90LTQtdC60YHQsCA3Mjxicj40LjEuNiDQo9GB0LrQvtGA0LXQvdC40LUgUEwvcGdTUUwgNzQ8YnI+NC4xLjcg0J7Qv9GC0LjQvNC40LfQsNGG0LjRjyDRgdC+0LXQtNC40L3QtdC90LjRjyBXaW5kb3dzIDc1PGJyPjQuMiDQn9C+0LLRi9GI0LXQvdC40LUg0L3QsNC00LXQttC90L7RgdGC0LggUG9zdGdyZVNRTCAxMyA3NTxicj40LjIuMSDQn9C+0LLRi9GI0LXQvdC90LDRjyDQvdCw0LTQtdC20L3QvtGB0YLRjCDRgNC10LfQtdGA0LLQvdC+0LPQviDQutC+0L/QuNGA0L7QstCw0L3QuNGPIDc1PGJyPjQuMi4yINCf0L7RgtC+0LrQvtCy0LDRjyDRgNC10L/Qu9C40LrQsNGG0LjRjyDQvNC+0LbQtdGCINCx0YvRgtGMINC90LDRgdGC0YDQvtC10L3QsCDQtNC40L3QsNC80LjRh9C10YHQutC4IDc3PGJyPjQuMyDQntC/0YLQuNC80LjQt9Cw0YbQuNGPINGD0L/RgNCw0LLQu9C10L3QuNGPINGN0LrRgdC/0LvRg9Cw0YLQsNGG0LjQtdC5INC4INC+0LHRgdC70YPQttC40LLQsNC90LjQtdC8IFBvc3RncmVTUUwgMTMgNzc8YnI+NC4zLjEg0KPQtNCw0LvQtdC90LjQtSDQsdCw0LfRiyDQtNCw0L3QvdGL0YUg0YPQtNC+0LHQvdC10LUgNzc8YnI+NC4zLjIgUElEIDc4LCDRgdCy0Y/Qt9Cw0L3QvdGL0Lkg0YEg0L/QsNGA0LDQu9C70LXQu9GM0L3Ri9C8INC30LDQv9GA0L7RgdC+0Lw8YnI+NC4zLjMg0J3QsNCx0LvRjtC00LXQvdC40LUg0LfQsCDQvtCx0YnQtdC5INC/0LDQvNGP0YLRjNGOIDc5PGJyPjQuMy40INCc0L7QvdC40YLQvtGA0LjQvdCzINC00LjRgdC60L7QstC+0LPQviDQutGN0YjQsCA3OTxicj40LjMuNSDQktCy0LXQtNC10L3QuNC1INC+0YLRh9C10YLQsCDQviDRhdC+0LTQtSDRhNC+0L3QvtCy0L7QuSDQvtC/0LXRgNCw0YbQuNC4IDgwPGJyPjQuMy42INCS0YvQsdC+0YDQutCwINC20YPRgNC90LDQu9CwINC+0L/QtdGA0LDRgtC+0YDQvtCyINC4INGD0LzQtdC90YzRiNC10L3QuNC1INGI0YPQvNCwIDgwPGJyPjQuMy43INCY0L3RgdGC0YDRg9C80LXQvdGCIFBTUUwg0L7RgtGB0LvQtdC20LjQstCw0LXRgiDRgdGC0LDRgtGD0YEg0LLRi9C/0L7Qu9C90LXQvdC40Y8g0YLRgNCw0L3Qt9Cw0LrRhtC40LggODA8YnI+NC4zLjgg0J7Qv9GC0LjQvNC40LfQsNGG0LjRjyDQuNC90YHRgtGA0YPQvNC10L3RgtCwIHBnX3Jld2luZCA4Mjxicj40LjQg0KPQu9GD0YfRiNC10L3QuNC1INC/0YDQvtGB0YLQvtGC0Ysg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8gUG9zdGdyZVNRTCAxMyA4Mzxicj40LjQuMSDQo9C70YPRh9GI0LXQvdC40Y8g0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiDQuCDQu9C+0LPQuNGH0LXRgdC60L7QuSDRgNC10L/Qu9C40LrQsNGG0LjQuCA4Mzxicj40LjQuMiDQodGC0L7Qu9Cx0YbRiyDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNC+0LIg0LzQvtCz0YPRgiDQuNCz0L3QvtGA0LjRgNC+0LLQsNGC0Ywg0LLQstC+0LQg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIDg0PGJyPjQuNC4zINCa0L7Qu9C+0L3QutC4INGF0YDQsNC90LXQvdC40Y8g0LzQvtC20L3QviDQv9GA0LXQvtCx0YDQsNC30L7QstCw0YLRjCDQsiDQvtCx0YvRh9C90YvQtSDQutC+0LvQvtC90LrQuCA4NTxicj40LjQuNCDQn9C+0YHRgtGA0LDQvdC40YfQvdCw0Y8g0YHQvtGA0YLQuNGA0L7QstC60LAg0L/QvtC30LLQvtC70Y/QtdGCINC/0LDRgNCw0LvQu9C10LvRjNC90L4g0YDQsNC90LbQuNGA0L7QstCw0YLRjCA4Njxicj40LjQuNSDQktCy0LXQtNC10L3QuNC1INC/0YDQvtGB0YLRi9GFINCyINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC4INCy0YHRgtGA0L7QtdC90L3Ri9GFINGE0YPQvdC60YbQuNC5IDg3PGJyPjQuNC42INCf0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGE0L7RgNC80LDRgtCwINCy0YDQtdC80LXQvdC4IEZGMe+9nkZGNiA4ODxicj40LjQuNyDQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDQstGL0YDQsNC20LXQvdC40Y8g0YHRgtGA0L7QutC4IDg4PGJyPjQuNC44INCf0YDQvtGB0LzQvtGC0YAg0LjRgdC/0YDQsNCy0LvQtdC90LjRjyDQuNC80LXQvdC4INGB0YLQvtC70LHRhtCwIDg5PGJyPjQuNSDQmNC30LzQtdC90LXQvdC40Y8g0YHQuNGB0YLQtdC80L3QvtCz0L4g0YPRgNC+0LLQvdGPINCyIFBvc3RncmVTUUwgMTMgODk8YnI+NC41LjEg0JLQstC10LTQtdC90LjQtSDRgdC40YHRgtC10LzQvdGL0YUg0LzQtdGC0LDQtNCw0L3QvdGL0YUgODk8YnI+NC41LjIg0JLQstC10LTQtdC90LjQtSDQv9Cw0YDQsNC80LXRgtGA0L7QsiDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggODk8YnI+NC41LjMg0JLQstC10LTQtdC90LjQtSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNCwINC+0LHRitC10LrRgtCwINGC0LjQv9CwIDkwPGJyPjQuNS40INCS0LLQtdC00LXQvdC40LUg0LLQvdGD0YLRgNC10L3QvdC10Lkg0YLQtdGA0LzQuNC90L7Qu9C+0LPQuNC4IDkxPGJyPjQuNS41INCe0L/RgtC40LzQuNC30LDRhtC40Y8g0L/RgNC+0YbQtdGB0YHQsCDQvtCx0L3QvtCy0LvQtdC90LjRjyDRgNC10LfQtdGA0LLQvdC+0Lkg0JHQlCDQtNC+INC+0YHQvdC+0LLQvdC+0LkgOTE8YnI+NC41LjYg0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LDRjyDQvtGH0LjRgdGC0LrQsCDQuCDQvdCw0YHRgtGA0L7QudC60LAg0L7Qv9C10YDQsNGG0LjQuCBJTlNFUlQgOTI8YnI+NC41Ljcg0J7RgtGB0LvQtdC20LjQstCw0L3QuNC1INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPIFdBTCA5Mzxicj40LjUuOCDQn9GA0L7QtNC+0LvQttC10L3QuNC1INCy0L7RgdGB0YLQsNC90L7QstC70LXQvdC40Y8g0L/Rg9GC0LXQvCDQvtCx0YXQvtC00LAg0YHQsdC+0LnQvdGL0YUg0LHQu9C+0LrQvtCyIDk1PGJyPjQuNS45INCj0LvRg9GH0YjQtdC90L3QsNGPINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLRjCDQstC90LXRiNC90LjRhSDRgtCw0LHQu9C40YYgOTU8YnI+NC41LjEwINCY0LfQvNC10L3QtdC90LjRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtCz0L4g0LzQvtC00YPQu9GPIDk2PGJyPjQuNiDQodCy0L7QtNC60LAg0Y3RgtC+0Lkg0LPQu9Cw0LLRiyA5Nzxicj7Qk9C70LDQstCwIDUuINCd0L7QstGL0LUg0LLQvtC30LzQvtC20L3QvtGB0YLQuCBQb3N0Z3JlU1FMIDE0IDk4PGJyPjUuMSDQntGB0L3QvtCy0L3Ri9C1INGD0LvRg9GH0YjQtdC90LjRjyDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjNC90L7RgdGC0Lgg0LIgUG9zdGdyZVNRTCAxNCA5ODxicj41LjEuMSDQntC/0YLQuNC80LjQt9Cw0YbQuNGPINCy0YvRgdC+0LrQvtCz0L4g0YPRgNC+0LLQvdGPINC+0LTQvdC+0LLRgNC10LzQtdC90L3Ri9GFINGB0L7QtdC00LjQvdC10L3QuNC5IDk4PGJyPjUuMS4yINCS0LLQtdC00LXQvdC40LUg0YDQtdC20LjQvNCwINCw0LLQsNGA0LjQudC90L7QuSDQvtGH0LjRgdGC0LrQuCA5OTxicj41LjEuMyDQndCw0YHRgtGA0LDQuNCy0LDQtdC80L7QtSDRgdC20LDRgtC40LUg0L3QsCDRg9GA0L7QstC90LUg0YHRgtC+0LvQsdGG0LAgOTk8YnI+NS4xLjQg0KPQu9GD0YfRiNC10L3QuNGPINC70L7Qs9C40YfQtdGB0LrQvtC5INGA0LXQv9C70LjQutCw0YbQuNC4IDEwMTxicj41LjEuNSDQo9C70YPRh9GI0LXQvdC40Y8g0LLQu9C+0LbQtdC90L3Ri9GFINGG0LjQutC70L7QsiAxMDI8YnI+NS4xLjYg0J/QsNGA0LDQu9C70LXQu9GM0L3QvtC1INGD0LvRg9GH0YjQtdC90LjQtSDRhNGD0L3QutGG0LjQuSAxMDM8YnI+NS4yINCf0L7QstGL0YjQtdC90LjQtSDQvdCw0LTQtdC20L3QvtGB0YLQuCDQsiBQb3N0Z3JlU1FMIDE0IDEwNDxicj41LjIuMSDQntCx0L3QsNGA0YPQttC10L3QuNC1INGB0YLRgNGD0LrRgtGD0YDRiyDQtNCw0L3QvdGL0YUgMTA1PGJyPjUuMi4yINCg0LXQt9C10YDQstC90YvQuSDRg9C30LXQuyDQvNC+0LbQtdGCINC40YHQv9C+0LvRjNC30L7QstCw0YLRjNGB0Y8g0LIg0LrQsNGH0LXRgdGC0LLQtSDQuNGB0YLQvtGH0L3QuNC60LAg0LLQvtGB0YHRgtCw0L3QvtCy0LvQtdC90LjRjyAxMDU8YnI+NS4yLjMg0J7Qs9GA0LDQvdC40YfQtdC90LjQtSDQtNC70LjQvdGLINC/0LDRgNC+0LvRjyDRgdC90Y/RgtC+IDEwNzxicj41LjMg0J7Qv9GC0LjQvNC40LfQsNGG0LjRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDRjdC60YHQv9C70YPQsNGC0LDRhtC40LXQuSDQuCDQvtCx0YHQu9GD0LbQuNCy0LDQvdC40LXQvCBQb3N0Z3JlU1FMIDE0IDEwNzxicj41LjMuMSDQl9C90LDQutC+0LzRgdGC0LLQviDRgSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNC+0Lwg0LfQsNC/0YDQvtGB0LAgMTA4PGJyPjUuMy4yINCU0LjQvdCw0LzQuNGH0LXRgdC60L7QtSDQtNCy0LjQttC10L3QuNC1INC40L3QtNC10LrRgdC90L7Qs9C+INGC0LDQsdC70LjRh9C90L7Qs9C+INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQsCAxMTE8YnI+NS4zLjMg0JfQsNC/0YPRgdC6INC+0L3Qu9Cw0LnQvS3RgNC10LrQvtC90YHRgtGA0YPQutGG0LjQuCAxMTI8YnI+NS4zLjQg0KPQv9GA0LDQstC70LXQvdC40LUg0LrQu9C40LXQvdGC0YHQutC40LzQuCDQv9C+0LTQutC70Y7Rh9C10L3QuNGP0LzQuCAxMTM8YnI+NS4zLjUg0J/RgNC10LTRgdGC0LDQstC70LXQvdC40LUg0L7RgtGH0LXRgtCwINC+INGF0L7QtNC1INGE0L7QvdC+0LLQvtC5INC+0L/QtdGA0LDRhtC40LggMTE0PGJyPjUuMy42INCf0L7QstGL0YjQtdC90LjQtSDQvdCw0LHQu9GO0LTQsNC10LzQvtGB0YLQuCAxMTU8YnI+NS40INCj0LvRg9GH0YjQtdC90LjRjyDQv9GA0L7RgdGC0L7RgtGLINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPIFBvc3RncmVTUUwgMTQgMTE1PGJyPjUuNC4xINCS0LLQtdC00LXQvdC40LUg0YLQuNC/0L7QsiDRgSDQvdC10YHQutC+0LvRjNC60LjQvNC4INC+0LHQu9Cw0YHRgtGP0LzQuCDQv9GA0LjQvNC10L3QtdC90LjRjyAxMTU8YnI+NS40LjIg0KXRgNCw0L3QuNC80YvQtSDQv9GA0L7RhtC10LTRg9GA0Ysg0L/QvtC00LTQtdGA0LbQuNCy0LDRjtGCINC/0LDRgNCw0LzQtdGC0YDRiyDRgNC10LbQuNC80LAgT1VUIDExNjxicj41LjQuMyDQktCy0LXQtNC10L3QuNC1INC90L7QstGL0YUg0YTQvtGA0Lwg0YTRg9C90LrRhtC40LkgU1FMIDExNjxicj41LjQuNCDQo9C70YPRh9GI0LXQvdC40LUg0YTRg9C90LrRhtC40Lgg0YDQsNCx0L7RgtGLIEpTT04gMTE4PGJyPjUuNC41INCj0LvRg9GH0YjQtdC90LjRjyDRgNC10LrRg9GA0YHQuNCy0L3Ri9GFINC30LDQv9GA0L7RgdC+0LIgMTE5PGJyPjUuNC42INCS0LLQtdC00LXQvdC40LUg0L/RgNC+0YHRgtGL0YUg0LIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Lgg0LLRgdGC0YDQvtC10L3QvdGL0YUg0YTRg9C90LrRhtC40LkgMTIyPGJyPjUuNSDQmNC30LzQtdC90LXQvdC40Y8g0YHQuNGB0YLQtdC80L3QvtCz0L4g0YPRgNC+0LLQvdGPINCyIFBvc3RncmVTUUwgMTQgMTI1PGJyPjUuNS4xINCS0LLQtdC00LXQvdC40LUg0YHQuNGB0YLQtdC80L3Ri9GFINC80LXRgtCw0LTQsNC90L3Ri9GFIDEyNTxicj41LjUuMiDQmNC30LzQtdC90LXQvdC40Y8g0YTRg9C90LrRhtC40Lkg0YHQuNGB0YLQtdC80YsgMTI2PGJyPjUuNS4zINCY0LfQvNC10L3QtdC90LjQtSDQv9GA0LXQtNGD0YHRgtCw0L3QvtCy0LvQtdC90L3Ri9GFINGA0L7Qu9C10LkgMTI2PGJyPjUuNS40INCY0LfQvNC10L3QtdC90LjRjyDQv9Cw0YDQsNC80LXRgtGA0L7QsiDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggMTI4PGJyPjUuNS41INCj0LvRg9GH0YjQtdC90LjRjyDQtNGA0LDQudCy0LXRgNCwINC60LvQuNC10L3RgtCwIEMgMTI5PGJyPjUuNS42INCj0LvRg9GH0YjQtdC90L3QsNGPINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLRjCDQsNGD0YLQtdC90YLQuNGE0LjQutCw0YbQuNC4INC60LvQuNC10L3RgtCwIDEzMDxicj41LjUuNyDQmNC30LzQtdC90LXQvdC40Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7Qs9C+INC80L7QtNGD0LvRjyAxMzE8YnI+NS42INCa0YDQsNGC0LrQvtC1INGB0L7QtNC10YDQttCw0L3QuNC1INGN0YLQvtC5INCz0LvQsNCy0YsgMTMzPGJyPtCT0LvQsNCy0LAgNi4g0J3QvtCy0YvQtSDQstC+0LfQvNC+0LbQvdC+0YHRgtC4IFBvc3RncmVTUUwgMTUgMTM1PGJyPjYuMSDQntGB0L3QvtCy0L3Ri9C1INGD0LvRg9GH0YjQtdC90LjRjyDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjNC90L7RgdGC0Lgg0LIgUG9zdGdyZVNRTCAxNSAxMzU8YnI+Ni4xLjEg0JfQsNC/0L7QvNC40L3QsNC90LjQtSDRgdGC0LDRgtC40YHRgtC40YfQtdGB0LrQvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4IDEzNTxicj42LjEuMiDQo9C70YPRh9GI0LXQvdC40LUg0LDQu9Cz0L7RgNC40YLQvNCwINC40L3QutGA0LXQvNC10L3RgtC90L7QuSDRgdC+0YDRgtC40YDQvtCy0LrQuCAxMzY8YnI+Ni4xLjMg0J/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3QvtC1INGH0YLQtdC90LjQtSDQstC+0YHRgdGC0LDQvdC+0LLQu9C10L3QuNGPIFdBTCAxMzc8YnI+Ni4xLjQg0J3QvtCy0YvQuSDQsNC70LPQvtGA0LjRgtC8INGB0LbQsNGC0LjRjyDQtNC70Y8g0LfQsNC/0LjRgdC4INC/0L7Qu9C90L7Qs9C+INCx0LvQvtC60LAgMTM4PGJyPjYuMS41INCf0L7QstGL0YjQtdC90LjQtSDRjdGE0YTQtdC60YLQuNCy0L3QvtGB0YLQuCDRgNC10LfQtdGA0LLQvdC+0LPQviDQutC+0L/QuNGA0L7QstCw0L3QuNGPIDEzODxicj42LjEuNiDQn9Cw0YDQsNC70LvQtdC70YzQvdC+0LUg0YPQu9GD0YfRiNC10L3QuNC1INGE0YPQvdC60YbQuNC5IDE0MDxicj42LjIg0J/QvtCy0YvRiNC10L3QuNC1INC90LDQtNC10LbQvdC+0YHRgtC4INCyIFBvc3RncmVTUUwgMTUgMTQxPGJyPjYuMi4xINCf0L7RgdC70LXQtNC+0LLQsNGC0LXQu9GM0L3QvtC1INGH0YLQtdC90LjQtSDRgdGC0LDRgtC40YHRgtC40LrQuCAxNDE8YnI+Ni4yLjIg0JLQstC10LTQtdC90LjQtSDQtdC00LjQvdC+0LPQviDRgNC10LbQuNC80LAg0L3QtdC80L7QvdC+0L/QvtC70YzQvdC+0LPQviDRgNC10LfQtdGA0LLQvdC+0LPQviDQutC+0L/QuNGA0L7QstCw0L3QuNGPIDE0Mjxicj42LjIuMyDQo9C70YPRh9GI0LXQvdC40Y8sINGB0LLRj9C30LDQvdC90YvQtSDRgSDRgdC+0L/QvtGB0YLQsNCy0LvQtdC90LjQtdC8INC70L7QutCw0LvQuNC30LDRhtC40LggMTQyPGJyPjYuMi40INCf0L7RgtC+0LrQvtCy0LDRjyDRgNC10L/Qu9C40LrQsNGG0LjRjyDQv9C+0LTQtNC10YDQttC40LLQsNC10YIg0J3QldCX0JDQoNCV0JPQmNCh0KLQoNCY0KDQntCS0JDQndCd0KPQriDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7RgdGC0YwgMTQ0PGJyPjYuMi41INCY0L3RgdGC0YDRg9C80LXQvdGCIHBnX3Jld2luZCDRg9C60LDQt9GL0LLQsNC10YIg0LLQvdC10YjQvdC40Lkg0YTQsNC50Lsg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IDE0NTxicj42LjMg0J7Qv9GC0LjQvNC40LfQsNGG0LjRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDRjdC60YHQv9C70YPQsNGC0LDRhtC40LXQuSDQuCDQvtCx0YHQu9GD0LbQuNCy0LDQvdC40LXQvCBQb3N0Z3JlU1FMIDE1IDE0NTxicj42LjMuMSDQktC90LXQtNGA0LXQvdC40LUg0LvQvtC60LDQu9GM0L3QvtCz0L4g0YDQtdC30LXRgNCy0L3QvtCz0L4g0LrQvtC/0LjRgNC+0LLQsNC90LjRjyDQvdCwINGB0YLQvtGA0L7QvdC1INGB0LXRgNCy0LXRgNCwIDE0NTxicj42LjMuMiDQktCy0LXQtNC10L3QuNC1INC20YPRgNC90LDQu9CwINGE0L7RgNC80LDRgtCwIEpTT04gMTQ3PGJyPjYuMy4zINCg0LDRgdGI0LjRgNC10L3QuNC1INGE0YPQvdC60YbQuNC4INGB0L7Qt9C00LDQvdC40Y8g0LHQsNC30Ysg0LTQsNC90L3Ri9GFIDE1MDxicj42LjMuNCDQntC/0LXRgNCw0YbQuNGPIENPUFkg0YPQu9GD0YfRiNCw0LXRgiDRgtC10LrRgdGC0L7QstGL0Lkg0YTQvtGA0LzQsNGCIDE1MDxicj42LjMuNSDQo9C70YPRh9GI0LXQvdC40LUg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQuNC90YTQvtGA0LzQsNGG0LjQuCDQv9C70LDQvdCwINCy0YvQv9C+0LvQvdC10L3QuNGPIDE1MTxicj42LjMuNiDQo9C70YPRh9GI0LXQvdC40LUg0YTRg9C90LrRhtC40Lgg0YHQttCw0YLQuNGPINC40L3RgdGC0YDRg9C80LXQvdGC0LAgcGdfcmVjZWl2ZXdhbCAxNTM8YnI+Ni4zLjcg0J7Qv9GC0LjQvNC40LfQsNGG0LjRjyDQuNC90YHRgtGA0YPQvNC10L3RgtCwIFBTUUwgMTUzPGJyPjYuNCDQn9C+0LLRi9GI0LXQvdC90LDRjyDQv9GA0L7RgdGC0L7RgtCwINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPIFBvc3RncmVTUUwg0L/RgNC4INGA0LDQt9GA0LDQsdC+0YLQutC1IDE1IDE1NTxicj42LjQuMSDQktCy0LXQtNC10L3QuNC1INC+0L/QtdGA0LDRgtC+0YDQsCBNRVJHRSAxNTU8YnI+Ni40LjIg0JfQvdCw0YfQtdC90LjRjyBOVUxMINC70YPRh9GI0LUg0YHQvtC+0YLQstC10YLRgdGC0LLRg9GO0YIg0L7Qs9GA0LDQvdC40YfQtdC90LjRj9C8IFVOSVFVRSAxNjI8YnI+Ni40LjMg0KPQu9GD0YfRiNC10L3QuNGPINGH0LjRgdC70L7QstGL0YUg0YLQuNC/0L7QsiDQtNCw0L3QvdGL0YUgMTYzPGJyPjYuNC40INCS0LLQtdC00LXQvdC40LUg0YTRg9C90LrRhtC40Lgg0YDQtdCz0YPQu9GP0YDQvdC+0LPQviDQstGL0YDQsNC20LXQvdC40Y8gMTY0PGJyPjYuNC41INCj0LvRg9GH0YjQtdC90LjRjyDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyIDE2NTxicj42LjQuNiDQo9C70YPRh9GI0LXQvdC40Y8g0LvQvtCz0LjRh9C10YHQutC+0Lkg0YDQtdC/0LvQuNC60LDRhtC40LggMTY2PGJyPjYuNSDQmNC30LzQtdC90LXQvdC40Y8g0YHQuNGB0YLQtdC80L3QvtCz0L4g0YPRgNC+0LLQvdGPINCyIFBvc3RncmVTUUwgMTUgMTY3PGJyPjYuNS4xINCS0LLQtdC00LXQvdC40LUg0YHQuNGB0YLQtdC80L3Ri9GFINC80LXRgtCw0LTQsNC90L3Ri9GFIDE2Nzxicj42LjUuMiDQmNC30LzQtdC90LXQvdC40Y8g0YTRg9C90LrRhtC40Lkg0YHQuNGB0YLQtdC80YsgMTY4PGJyPjYuNS4zINCY0LfQvNC10L3QtdC90LjQtSDQv9GA0LXQtNGD0YHRgtCw0L3QvtCy0LvQtdC90L3Ri9GFINGA0L7Qu9C10LkgMTY5PGJyPjYuNS40INCY0LfQvNC10L3QtdC90LjQtSDQv9Cw0YDQsNC80LXRgtGA0L7QsiDQutC+0L3RhNC40LPRg9GA0LDRhtC40LggMTcwPGJyPjYuNS41INCY0LfQvNC10L3QtdC90LjRjyDQsNCy0YLQvtGA0LjQt9Cw0YbQuNC4INC60L7QvNCw0L3QtNGLIEdSQU5UIDE3Mzxicj42LjUuNiDQntC/0YLQuNC80LjQt9Cw0YbQuNGPINGA0LXQutGD0YDRgdC40LLQvdGL0YUg0LfQsNC/0YDQvtGB0L7QsiAxNzM8YnI+Ni41Ljcg0KPQu9GD0YfRiNC10L3QvdCw0Y8g0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtGMINC/0YPQsdC70LjRh9C90L7Qs9C+INGA0LXQttC40LzQsCAxNzQ8YnI+Ni41Ljgg0KPQu9GD0YfRiNC10L3QvdCw0Y8g0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtGMINC/0YDQvtGB0LzQvtGC0YDQsCAxNzY8YnI+Ni41Ljkg0JjQt9C80LXQvdC10L3QuNGPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0LPQviDQvNC+0LTRg9C70Y8gMTc3PGJyPjYuNiDQmtGA0LDRgtC60L7QtSDRgdC+0LTQtdGA0LbQsNC90LjQtSDRjdGC0L7QuSDQs9C70LDQstGLIDE3Nzxicj7Qk9C70LDQstCwIDcuINCd0L7QstGL0LUg0LLQvtC30LzQvtC20L3QvtGB0YLQuCBQb3N0Z3JlU1FMIDE2IDE3OTxicj43LjEg0J7RgdC90L7QstC90YvQtSDRg9C70YPRh9GI0LXQvdC40Y8g0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70YzQvdC+0YHRgtC4INCyIFBvc3RncmVTUUwgMTYgMTc5PGJyPjcuMS4xINCf0LDRgNCw0LvQu9C10LvRjNC90L7QtSDRg9C70YPRh9GI0LXQvdC40LUg0YTRg9C90LrRhtC40LkgMTc5PGJyPjcuMS4yINCj0LvRg9GH0YjQtdC90LjQtSDQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjNC90L7RgdGC0Lgg0L/RgNC10LTQstCw0YDQuNGC0LXQu9GM0L3QvtC5INGB0L7RgNGC0LjRgNC+0LLQutC4IDE4MDxicj43LjEuMyDQn9C+0LLRi9GI0LXQvdC40LUg0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70YzQvdC+0YHRgtC4INC+0YfQuNGB0YLQutC4INC80LXRgNGC0LLRi9GFINC60L7RgNGC0LXQttC10LkgMTgwPGJyPjcuMS40INCU0YDRg9Cz0LjQtSDRg9C70YPRh9GI0LXQvdC40Y8g0L/RgNC+0LjQt9Cy0L7QtNC40YLQtdC70YzQvdC+0YHRgtC4IDE4MDxicj43LjIg0J7Qv9GC0LjQvNC40LfQsNGG0LjRjyDRg9C/0YDQsNCy0LvQtdC90LjRjyDRjdC60YHQv9C70YPQsNGC0LDRhtC40LXQuSDQuCDQvtCx0YHQu9GD0LbQuNCy0LDQvdC40LXQvCBQb3N0Z3JlU1FMIDE2IDE4MTxicj43LjIuMSDQkdC+0LvQtdC1INC/0L7QtNGA0L7QsdC90LDRjyDRgdGC0LDRgtC40YHRgtC40LrQsCDQstCy0L7QtNCwLdCy0YvQstC+0LTQsCAxODE8YnI+Ny4yLjIg0KPQu9GD0YfRiNC10L3QuNC1INGE0YPQvdC60YbQuNC4INC40L3RgdGC0YDRg9C80LXQvdGC0LAgcGdfZHVtcCAxODI8YnI+Ny4yLjMg0KPQu9GD0YfRiNC10L3QuNC1INGE0YPQvdC60YbQuNC5INC40L3RgdGC0YDRg9C80LXQvdGC0LAgUFNRTCAxODM8YnI+Ny4yLjQg0KPQu9GD0YfRiNC10L3QuNC1INGE0YPQvdC60YbQuNC5INC60L7QvNCw0L3QtNGLIFZBQ1VVTSDQuCDQuNC90YHRgtGA0YPQvNC10L3RgtCwIFZBQ1VVTURCIDE4Mzxicj43LjIuNSDQmtC+0L3RhNC40LPRg9GA0LDRhtC40Y8g0YTQsNC50LvQsCBwZ19oYmEuY29uZiDQsdC+0LvQtdC1INGN0YTRhNC10LrRgtC40LLQvdCwIDE4NDxicj43LjIuNiDQntC/0YLQuNC80LjQt9Cw0YbQuNGPINC/0L7QtNC60LvRjtGH0LXQvdC40Y8g0L7QsdGL0YfQvdGL0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkgMTg0PGJyPjcuMi43INCj0LvRg9GH0YjQtdC90LjQtSDQvNC+0L3QuNGC0L7RgNC40L3Qs9CwIEhPVC3QvtCx0L3QvtCy0LvQtdC90LjQuSAxODU8YnI+Ny4yLjgg0JzQvtC90LjRgtC+0YDQuNC90LMg0L3QtdCw0LrRgtC40LLQvdC+0LPQviDQuNC90LTQtdC60YHQsCAxODU8YnI+Ny4yLjkg0KPQtNC+0LHQvdGL0Lkg0LDQvdCw0LvQuNC3INC/0LDRgNCw0LzQtdGC0YDQuNC30L7QstCw0L3QvdGL0YUg0L7Qv9C10YDQsNGC0L7RgNC+0LIgMTg2PGJyPjcuMyDQn9C+0LLRi9GI0LXQvdC90LDRjyDQv9GA0L7RgdGC0L7RgtCwINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGPIFBvc3RncmVTUUwg0L/RgNC4INGA0LDQt9GA0LDQsdC+0YLQutC1IDE2IDE4Nzxicj43LjMuMSDQo9C70YPRh9GI0LXQvdC90LDRjyDRhNGD0L3QutGG0LjRjyDQu9C+0LPQuNGH0LXRgdC60L7QuSDRgNC10L/Qu9C40LrQsNGG0LjQuCAxODc8YnI+Ny4zLjIg0KfQsNGB0YLQuNGH0L3QsNGPINC/0L7QtNC00LXRgNC20LrQsCwg0L/RgNC10LTRgdGC0LDQstC70LXQvdC90LDRjyDQsiBTUUwgU3RhbmRhcmQgMjAyMyAxODg8YnI+Ny4zLjMg0KPQu9GD0YfRiNC10L3QuNC1INGE0YPQvdC60YbQuNC4IFNRTC9KU09OIDE4OTxicj43LjMuNCDQn9C10YDQtdC+0L/RgNC10LTQtdC70LXQvdC40LUg0LfQvdCw0YfQtdC90LjRjyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQtNC70Y8g0LjQvNC/0L7RgNGC0LAg0LTQsNC90L3Ri9GFIDE5Mjxicj43LjMuNSDQktCy0LXQtNC10L3QuNC1INGE0YPQvdC60YbQuNC4INCx0LDQu9Cw0L3RgdC40YDQvtCy0LrQuCDQvdCw0LPRgNGD0LfQutC4INC/0YDQvtGC0L7QutC+0LvQsCBsaWJwcSAxOTM8YnI+Ny40INCY0LfQvNC10L3QtdC90LjRjyDRgdC40YHRgtC10LzQvdC+0LPQviDRg9GA0L7QstC90Y8g0LIgUG9zdGdyZVNRTCAxNiAxOTM8YnI+Ny40LjEg0JjQt9C80LXQvdC10L3QuNGPINGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4INCy0LXRgNGB0LjQuSAxOTM8YnI+Ny40LjIg0JjQt9C80LXQvdC10L3QuNGPINGE0YPQvdC60YbQuNC5INGB0LjRgdGC0LXQvNGLIDE5NTxicj43LjQuMyDQmNC30LzQtdC90LXQvdC40LUg0L/RgNC10LTRg9GB0YLQsNC90L7QstC70LXQvdC90YvRhSDRgNC+0LvQtdC5IDE5Njxicj43LjQuNCDQmNC30LzQtdC90LXQvdC40Y8g0L/QsNGA0LDQvNC10YLRgNC+0LIg0LrQvtC90YTQuNCz0YPRgNCw0YbQuNC4IDE5Njxicj43LjQuNSDQntC/0YLQuNC80LjQt9Cw0YbQuNGPINC/0LXRgNCy0L7QvdCw0YfQsNC70YzQvdGL0YUg0YDQsNC30YDQtdGI0LXQvdC40Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIDE5Nzxicj43LjQuNiDQmNC30LzQtdC90LXQvdC40Y8g0LIg0YDQsNC30YDQtdGI0LXQvdC40Y/RhSDRgNC+0LvQtdC5INGD0YfQsNGB0YLQvdC40LrQvtCyIDE5Nzxicj43LjQuNyDQmNC30LzQtdC90LXQvdC40Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7Qs9C+INC80L7QtNGD0LvRjyAyMDA8YnI+Ny41INCa0YDQsNGC0LrQvtC1INGB0L7QtNC10YDQttCw0L3QuNC1INC00LDQvdC90L7QuSDQs9C70LDQstGLIDIwMDxpbWcgY2xhc3M9ImRlc2NfYW5jaG9yIiBpZD0iZGVzYy1tb2R1bGUtMyIgc3JjPSJodHRwczovL2Fzc2V0cy5hbGljZG4uY29tL2tpc3N5LzEuMC4wL2J1aWxkL2ltZ2xhenlsb2FkL3NwYWNlYmFsbC5naWYiPjxicj48ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO2ZvbnQtc2l6ZTogMTUuMHB4O2ZvbnQtd2VpZ2h0OiBib2xkO2hlaWdodDogNTAuMHB4O2xpbmUtaGVpZ2h0OiA1MC4wcHg7cGFkZGluZy1sZWZ0OiAxMC4wcHg7Ij7QvtCxINCw0LLRgtC+0YDQtTwvZGl2Pjxicj7Qn9GN0L0g0KfQvtC90LMsIEFDRSBQb3N0Z3JlU1FMINC60LjRgtCw0LnRgdC60L7Qs9C+INC+0YLQtNC10LvQtdC90LjRjyBQb3N0Z3JlU1FMLCDRg9C20LUg0LzQvdC+0LPQviDQu9C10YIg0LfQsNC90LjQvNCw0LXRgtGB0Y8g0LjRgdGB0LvQtdC00L7QstCw0L3QuNGP0LzQuCDQuCDRgNCw0LfRgNCw0LHQvtGC0LrQsNC80Lgg0L/RgNC+0LPRgNCw0LzQvNC90L7Qs9C+INC+0LHQtdGB0L/QtdGH0LXQvdC40Y8g0L3QsCDQvtGB0L3QvtCy0LUg0LHQsNC30Ysg0LTQsNC90L3Ri9GFIFBvc3RncmVTUUwuINCe0L0g0YXQvtGA0L7RiNC+INGA0LDQt9Cx0LjRgNCw0LXRgtGB0Y8g0LIg0LzQuNCz0YDQsNGG0LjQuCDQuCDQvtC/0YLQuNC80LjQt9Cw0YbQuNC4INCx0LjQt9C90LXRgdCwIFBML1BHU1FMLiDQmtC+0LPQtNCwLdGC0L4g0L7QvSDRgNCw0LHQvtGC0LDQuyDQvtGB0L3QvtCy0L3Ri9C8INGA0LDQt9GA0LDQsdC+0YLRh9C40LrQvtC8INCyINCi0Y/QvdGM0YbQt9C40L3QtSDQotC+0L3Qs9C60LAg0Lgg0YPRgdC/0LXRiNC90L4g0YDQtdCw0LvQuNC30L7QstCw0Lsg0L/RgNC+0LXQutGCINC90LAg0L/Qu9C+0YnQsNC00LrQtSDQnNC40L3QuNGB0YLQtdGA0YHRgtCy0LAg0YLRgNCw0L3RgdC/0L7RgNGC0LAg0JLQtdC90LXRgdGD0Y3Qu9GLLCDQsCDRgtCw0LrQttC1INGD0YHQv9C10YjQvdC+INC30LDQstC10YDRiNC40Lsg0L7QsdGJ0YPRjiDQvNC40LPRgNCw0YbQuNGOINC4INC80L7QtNC10YDQvdC40LfQsNGG0LjRjiDQvdCw0YbQuNC+0L3QsNC70YzQvdC+0Lkg0LDQstGC0L7QsdGD0YHQvdC+0Lkg0YHQuNGB0YLQtdC80Ysu0J/QvtC30LbQtSDQt9Cw0L3QuNC80LDQu9GB0Y8g0LPQtdGC0LXRgNC+0LPQtdC90L3QvtC5INC+0LHRgNCw0LHQvtGC0LrQvtC5INC00LDQvdC90YvRhSDRgtC+0YDQs9C+0LLRi9GFINGC0YDQsNC90LfQsNC60YbQuNC5INCyINGB0LjRgdGC0LXQvNC1IFVuaW9uUGF5LtCf0YDQuNGB0L7QtdC00LjQvdC40LvRgdGPINC6IFl1bmhlIEVubW8g0LIgMjAxOSDQs9C+0LTRgyDQuCDQt9Cw0L3QuNC80LDQtdGC0YHRjyDRgdC+0LfQtNCw0L3QuNC10Lwg0LHQsNC3INC00LDQvdC90YvRhSDRgSDQvtGC0LrRgNGL0YLRi9C8INC40YHRhdC+0LTQvdGL0Lwg0LrQvtC00L7QvCDQuCDQstC90YPRgtGA0LXQvdC90LjRhSDQsdCw0Lcg0LTQsNC90L3Ri9GFINCyINCz0YDRg9C/0L/QtSDRjdC60L7Qu9C+0LPQuNGH0LXRgdC60LjRhSDQv9GA0L7QtNGD0LrRgtC+0LIg0LHQsNC3INC00LDQvdC90YvRhS4g0J7QvSDQt9Cw0LjQvdGC0LXRgNC10YHQvtCy0LDQvSDQsiDQvtCx0LzQtdC90LUg0L/RgNCw0LrRgtC40YfQtdGB0LrQuNC80Lgg0YLQtdGF0L3QvtC70L7Qs9C40Y/QvNC4INCx0LDQtyDQtNCw0L3QvdGL0YUgUG9zdGdyZVNRTCDQuCBvcGVuR2F1c3MvTW9nREIuPGltZyBjbGFzcz0iZGVzY19hbmNob3IiIGlkPSJkZXNjLW1vZHVsZS00IiBzcmM9Imh0dHBzOi8vYXNzZXRzLmFsaWNkbi5jb20va2lzc3kvMS4wLjAvYnVpbGQvaW1nbGF6eWxvYWQvc3BhY2ViYWxsLmdpZiI+PGJyPjxkaXYgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7Zm9udC1zaXplOiAxNS4wcHg7Zm9udC13ZWlnaHQ6IGJvbGQ7aGVpZ2h0OiA1MC4wcHg7bGluZS1oZWlnaHQ6IDUwLjBweDtwYWRkaW5nLWxlZnQ6IDEwLjBweDsiPtCh0JzQmCDQvtCx0LfQvtGAPC9kaXY+PGJyPtCSINGN0YLQvtC5INC60L3QuNCz0LUg0L7QsdC+0LHRidC10L3RiyDQuCDRgdC40YHRgtC10LzQsNGC0LjQt9C40YDQvtCy0LDQvdGLINC+0YLQtdGH0LXRgdGC0LLQtdC90L3Ri9C1INC4INC30LDRgNGD0LHQtdC20L3Ri9C1INGB0YLQsNGC0YzQuCwg0L/QvtGB0LLRj9GJ0LXQvdC90YvQtSDQvdC+0LLRi9C8INGE0YPQvdC60YbQuNGP0LwgUG9zdGdyZVNRTCwg0L7RhdCy0LDRgtGL0LLQsNGO0YnQuNC1INCy0LXRgNGB0LjQuCDQvtGCIFBvc3RncmVTUUwgMTAg0LTQviBQb3N0Z3JlU1FMIDE2LiDQntC90LAg0L7RgdC90L7QstCw0L3QsCDQvdCwINC/0L7RgdC70LXQtNC90LjRhSDQstGC0L7RgNC+0YHRgtC10L/QtdC90L3Ri9GFINCy0LXRgNGB0LjRj9GFINC60LDQttC00L7QuSDQstC10YDRgdC40Lgg0LTQu9GPINC/0YDQsNC60YLQuNGH0LXRgdC60L7QuSDQv9GA0L7QstC10YDQutC4LCDQvtCx0YDQsNCx0L7RgtC60Lgg0Lgg0L/QtdGA0LXRgdC80L7RgtGA0LAuINCh0L7RgtC90Lgg0L3QvtCy0YvRhSDRhNGD0L3QutGG0LjQuSDQsiDQutC90LjQs9C1INC/0L7QtNGC0LLQtdGA0LbQtNC10L3RiyDRgNC10LDQu9GM0L3Ri9C80Lgg0YHQu9GD0YfQsNGP0LzQuC48aW1nIGNsYXNzPSJkZXNjX2FuY2hvciIgaWQ9ImRlc2MtbW9kdWxlLTUiIHNyYz0iaHR0cHM6Ly9hc3NldHMuYWxpY2RuLmNvbS9raXNzeS8xLjAuMC9idWlsZC9pbWdsYXp5bG9hZC9zcGFjZWJhbGwuZ2lmIj48YnI+PGRpdiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtmb250LXNpemU6IDE1LjBweDtmb250LXdlaWdodDogYm9sZDtoZWlnaHQ6IDUwLjBweDtsaW5lLWhlaWdodDogNTAuMHB4O3BhZGRpbmctbGVmdDogMTAuMHB4OyI+0KDQtdC60L7QvNC10L3QtNGD0LXQvNCw0Y8g0YDQtdC60L7QvNC10L3QtNCw0YbQuNGPPC9kaXY+PGJyPtCSINGN0YLQvtC5INC60L3QuNCz0LUg0L7QsdC+0LHRidC10L3RiyDQuCDRgdC40YHRgtC10LzQsNGC0LjQt9C40YDQvtCy0LDQvdGLINC+0YLQtdGH0LXRgdGC0LLQtdC90L3Ri9C1INC4INC30LDRgNGD0LHQtdC20L3Ri9C1INGB0YLQsNGC0YzQuCwg0L/QvtGB0LLRj9GJ0LXQvdC90YvQtSDQvdC+0LLRi9C8INGE0YPQvdC60YbQuNGP0LwgUG9zdGdyZVNRTCwg0L7RhdCy0LDRgtGL0LLQsNGO0YnQuNC1INCy0LXRgNGB0LjQuCDQvtGCIFBvc3RncmVTUUwgMTAg0LTQviBQb3N0Z3JlU1FMIDE2LiDQntC90LAg0L7RgdC90L7QstCw0L3QsCDQvdCwINC/0L7RgdC70LXQtNC90LjRhSDQstGC0L7RgNC+0YHRgtC10L/QtdC90L3Ri9GFINCy0LXRgNGB0LjRj9GFINC60LDQttC00L7QuSDQstC10YDRgdC40Lgg0LTQu9GPINC/0YDQsNC60YLQuNGH0LXRgdC60L7QuSDQv9GA0L7QstC10YDQutC4LCDQvtCx0YDQsNCx0L7RgtC60Lgg0Lgg0L/QtdGA0LXRgdC80L7RgtGA0LAuINCh0L7RgtC90Lgg0L3QvtCy0YvRhSDRhNGD0L3QutGG0LjQuSDQsiDQutC90LjQs9C1INC/0L7QtNGC0LLQtdGA0LbQtNC10L3RiyDRgNC10LDQu9GM0L3Ri9C80Lgg0YHQu9GD0YfQsNGP0LzQuC48aW1nIHNyYz0iaHR0cHM6Ly93d3cubzBiLmNuL2kucGhwP3QucG5nJnJpZD0yMi42YTNhMzI2ZDIyYThlJnA9MzE1Njc3MTc1MSZrPWUuY29tJnQ9MTc4MjE5ODg5OCIgc3R5bGU9ImRpc3BsYXk6bm9uZSI+
Продавец:美迪亚图书专营店
Рейтинг:

Всего отзывов:0
Положительных:0
Добавить в корзину
- Информация о товаре
- Фотографии

Введение
С момента присоединения к сообществу данных Motianlun в конце 2019 года автор продолжает писать статьи, связанные с PostgreSQL, в рубрике PG Lezhilexiang. В последние годы я написал несколько статей о новых функциях каждой версии.Поскольку в каждой версии PostgreSQL выпущено множество новых функций, полностью освоить новые возможности PostgreSQL очень сложно.В этой книге тщательно рассматриваются семь основных версий PostgreSQL: от PostgreSQL 10 до PostgreSQL 16, на основе общедоступных экспериментальных руководств по новым функциям, статей, посвященных новым функциям, списков рассылки, блогов, связанных с основными участниками сообщества, официальных примечаний к выпуску и т. д., и представлены они с пяти аспектов: основная производительность, надежность, управление эксплуатацией и обслуживанием, простота разработки и системный уровень.В нынешних отечественных и зарубежных условиях PostgreSQL постоянно растет. Эта книга помогает читателям освоить правильное использование базы данных с точки зрения новых функций.

Оглавление
*Глава 1 Новые возможности PostgreSQL 10 1
1.1 Основные улучшения производительности в PostgreSQL 10 1
1.1.1 Раздел данных 1
1.1.2 Параллельное улучшение функций 1
1.1.3 Расширение статистической информации 2
1.1.4 Улучшение производительности триггера AFTER 4
1.1.5 Агрегатная операция поддерживает понижение уровня 5
1.2 Повышение надежности PostgreSQL 10 7
1.2.1 Введение арбитражного представления 7
1.2.2 HASH-индекс поддерживает запись WAL 8
1.2.3 Обнаружение статуса фиксации транзакции 8
1.3 Оптимизация управления эксплуатацией и обслуживанием PostgreSQL 10 9
1.3.1 Увеличение размера файла WAL 9
1.3.2 WAL поддерживает онлайн-сжатие 10
1.3.3 Введение стандартной библиотеки ICU 10
1.3.4 Улучшение представления активного сеанса 10
1.3.5 Новый системный вид для файлов HBA 11
1.3.6 Подкоманда продвижения добавляет режим ожидания 12.
1.3.7 Базовые улучшения резервного копирования 12
1.3.8 Введение временного слота репликации 13
1.3.9 Оптимизация политики безопасности на уровне строк 13
1.3.10 Инструменты PSQL допускают условные взаимодействия 15
1.4 PostgreSQL 10 упрощает разработку 15
1.4.1 Введение декларативного секционирования 15
1.4.2 Публикация и подписка на данные на уровне таблиц 17
1.4.3 Введение идентификационного столбца 18
1.4.4 Полнотекстовый поиск поддерживает типы данных JSON и JSONB 21
1.4.5 Введение функции xmltable 22
1.5 Изменения системного уровня в PostgreSQL 10 24
1.5.1 Переименование XLOG 24
1.5.2 Введение системных метаданных 25
1.5.3 Введение параметров конфигурации 26
1.5.4 Улучшенная безопасность шифрования паролей 26
1.5.5 Изменение предустановленных ролей 26
1.5.6 Изменения дополнительного модуля 27
1.6 Сводка этой главы 27
*Глава 2 Новые возможности PostgreSQL 11 28
2.1 Основные улучшения производительности в PostgreSQL 11 28
2.1.1 Настраиваемый WAL 28
2.1.2 Параллельное создание индекса B-дерева 29
2.1.3 Операции HASH и операции HASH JOIN поддерживают параллелизм 30
2.1.4 Поддержка других параллельных функций 31
2.1.5 Введение индекса выражения 32
2.1.6 Введение индекса покрытия 33
2.1.7 Введение в компиляцию в реальном времени 34
2.1.8 Улучшения управления кэшем 35
2.1.9 Операции UPDATE и DELETE поддерживают понижение уровня 35
2.2 Повышение надежности PostgreSQL 11 36
2.2.1 Обнаружение контрольной суммы блока данных 36
2.2.2 Обнаружение поврежденных блоков индекса B-дерева 37
2.2.3 Идентификатор запроса расширен с 32 бит до 64 бит 37
2.3 Оптимизация управления эксплуатацией и обслуживанием PostgreSQL 11 38
2.3.1 Быстрое добавление столбцов 38
2.3.2 Операции обслуживания поддерживают несколько таблиц 40
2.3.3 Секционированные данные поддерживают загрузку через родительские таблицы 40
2.3.4 Добавлен сигнал KILL 40
2.3.5 WAL поддерживает автономную реконструкцию 40
2.3.6 Инструмент PSQL поддерживает выполнение операторов записи 41
2.4 Повышенная простота использования PostgreSQL при разработке 11 42
2.4.1 Улучшение декларативного секционирования 42
2.4.2 Хранимые процедуры, поддерживающие управление транзакциями 43
2.4.3 Логическая репликация поддерживает операцию TRUNCATE 44
2.4.4 Улучшение функции окна 44
2.5 Изменения системного уровня в PostgreSQL 11 45
2.5.1 Введение параметров конфигурации 45
2.5.2 Изменение предустановленных ролей 46
2.5.3 Делегирование полномочий суперпользователя 46
2.5.4 Изменения дополнительного модуля 47
2.6 Резюме этой главы 47
Глава 3. Новые возможности PostgreSQL 12 48
3.1 Основные улучшения производительности в PostgreSQL 12 48
3.1.1 Оптимизация CTE 48
3.1.2 Повышение эффективности индекса 50
3.1.3 Оптимизация функций системы 51
3.2 Оптимизация управления эксплуатацией и обслуживанием PostgreSQL 12 51
3.2.1 Управление переключателем контрольной суммы 51
3.2.2 Фильтрация данных команды COPY FROM 52
3.2.3 Управление тайм-аутом репликации потока на уровне пользователя 52
3.2.4 Пропуск блокировки операций ВАКУУМ и АНАЛИЗ 53
3.2.5 Очистка и разделение таблиц и индексов 54
3.2.6 Индексная онлайн-реконструкция 54
3.2.7 В плане выполнения отображаются параметры, отличные от значений по умолчанию 55
3.2.8 Представление отчета о ходе фоновой операции 56
3.2.9 Обновление резервной базы данных до основной базы данных и открытие интерфейса SQL 57
3.2.10 Добавлена ссылка на справку по инструменту PSQL 57
3.3 Улучшение простоты использования PostgreSQL 12 58
3.3.1 Улучшение декларативного секционирования 58
3.3.2 Использование столбца хранилища операций 59
3.3.3 Введение в отслеживание переменных привязки 60
3.3.4 Знакомство с путем SQL/JSON 61
3.3.5 Улучшение типа данных перечисления 63
3.4 Изменения системного уровня в PostgreSQL 12 63
3.4.1 Открытие механизма хранения стола 63
3.4.2 Оптимизация конфигурации, связанной с восстановлением 64
3.4.3 Введение системных метаданных 64
3.4.4 Введение параметров конфигурации 65
3.4.5 Оптимизация количества соединений потоковой репликации 66
3.4.6 Предотвращение DOS-атак 66
3.4.7 Управляемый протокол SSL 67
3.4.8 Изменения дополнительного модуля 67
3.5 Сводка этой главы 67
Глава 4. Новые возможности PostgreSQL 13 68
4.1 Основные улучшения производительности в PostgreSQL 13 68
4.1.1 Дедупликация индекса 68
4.1.2 Инкрементная сортировка 70
4.1.3 Параллельная реконструкция индексов уровня базы данных 71
4.1.4. Агрегация HASH может переполниться на диск 72.
4.1.5 Параллельная очистка индекса 72
4.1.6 Ускорение PL/pgSQL 74
4.1.7 Оптимизация соединения Windows 75
4.2 Повышение надежности PostgreSQL 13 75
4.2.1 Повышенная надежность резервного копирования 75
4.2.2 Потоковая репликация может быть настроена динамически 77
4.3 Оптимизация управления эксплуатацией и обслуживанием PostgreSQL 13 77
4.3.1 Удаление базы данных удобнее 77
4.3.2 PID 78, связанный с параллельным запросом
4.3.3 Наблюдение за общей памятью 79
4.3.4 Мониторинг дискового кэша 79
4.3.5 Введение отчета о ходе фоновой операции 80
4.3.6 Выборка журнала операторов и уменьшение шума 80
4.3.7 Инструмент PSQL отслеживает статус выполнения транзакции 80
4.3.8 Оптимизация инструмента pg_rewind 82
4.4 Улучшение простоты использования PostgreSQL 13 83
4.4.1 Улучшения таблицы разделов и логической репликации 83
4.4.2 Столбцы идентификаторов могут игнорировать ввод пользователя 84
4.4.3 Колонки хранения можно преобразовать в обычные колонки 85
4.4.4 Постраничная сортировка позволяет параллельно ранжировать 86
4.4.5 Введение простых в использовании встроенных функций 87
4.4.6 Представление формата времени FF1~FF6 88
4.4.7 Использование выражения строки 88
4.4.8 Просмотр исправления имени столбца 89
4.5 Изменения системного уровня в PostgreSQL 13 89
4.5.1 Введение системных метаданных 89
4.5.2 Введение параметров конфигурации 89
4.5.3 Введение идентификатора объекта типа 90
4.5.4 Введение внутренней терминологии 91
4.5.5 Оптимизация процесса обновления резервной БД до основной 91
4.5.6 Автоматическая очистка и настройка операции INSERT 92
4.5.7 Отслеживание использования WAL 93
4.5.8 Продолжение восстановления путем обхода сбойных блоков 95
4.5.9 Улучшенная безопасность внешних таблиц 95
4.5.10 Изменения дополнительного модуля 96
4.6 Сводка этой главы 97
Глава 5. Новые возможности PostgreSQL 14 98
5.1 Основные улучшения производительности в PostgreSQL 14 98
5.1.1 Оптимизация высокого уровня одновременных соединений 98
5.1.2 Введение режима аварийной очистки 99
5.1.3 Настраиваемое сжатие на уровне столбца 99
5.1.4 Улучшения логической репликации 101
5.1.5 Улучшения вложенных циклов 102
5.1.6 Параллельное улучшение функций 103
5.2 Повышение надежности в PostgreSQL 14 104
5.2.1 Обнаружение структуры данных 105
5.2.2 Резервный узел может использоваться в качестве источника восстановления 105
5.2.3 Ограничение длины пароля снято 107
5.3 Оптимизация управления эксплуатацией и обслуживанием PostgreSQL 14 107
5.3.1 Знакомство с идентификатором запроса 108
5.3.2 Динамическое движение индексного табличного пространства 111
5.3.3 Запуск онлайн-реконструкции 112
5.3.4 Управление клиентскими подключениями 113
5.3.5 Представление отчета о ходе фоновой операции 114
5.3.6 Повышение наблюдаемости 115
5.4 Улучшения простоты использования PostgreSQL 14 115
5.4.1 Введение типов с несколькими областями применения 115
5.4.2 Хранимые процедуры поддерживают параметры режима OUT 116
5.4.3 Введение новых форм функций SQL 116
5.4.4 Улучшение функции работы JSON 118
5.4.5 Улучшения рекурсивных запросов 119
5.4.6 Введение простых в использовании встроенных функций 122
5.5 Изменения системного уровня в PostgreSQL 14 125
5.5.1 Введение системных метаданных 125
5.5.2 Изменения функций системы 126
5.5.3 Изменение предустановленных ролей 126
5.5.4 Изменения параметров конфигурации 128
5.5.5 Улучшения драйвера клиента C 129
5.5.6 Улучшенная безопасность аутентификации клиента 130
5.5.7 Изменения дополнительного модуля 131
5.6 Краткое содержание этой главы 133
Глава 6. Новые возможности PostgreSQL 15 135
6.1 Основные улучшения производительности в PostgreSQL 15 135
6.1.1 Запоминание статистической информации 135
6.1.2 Улучшение алгоритма инкрементной сортировки 136
6.1.3 Предварительное чтение восстановления WAL 137
6.1.4 Новый алгоритм сжатия для записи полного блока 138
6.1.5 Повышение эффективности резервного копирования 138
6.1.6 Параллельное улучшение функций 140
6.2 Повышение надежности в PostgreSQL 15 141
6.2.1 Последовательное чтение статистики 141
6.2.2 Введение единого режима немонопольного резервного копирования 142
6.2.3 Улучшения, связанные с сопоставлением локализации 142
6.2.4 Потоковая репликация поддерживает НЕЗАРЕГИСТРИРОВАННУЮ последовательность 144
6.2.5 Инструмент pg_rewind указывает внешний файл конфигурации 145
6.3 Оптимизация управления эксплуатацией и обслуживанием PostgreSQL 15 145
6.3.1 Внедрение локального резервного копирования на стороне сервера 145
6.3.2 Введение журнала формата JSON 147
6.3.3 Расширение функции создания базы данных 150
6.3.4 Операция COPY улучшает текстовый формат 150
6.3.5 Улучшение отображения информации плана выполнения 151
6.3.6 Улучшение функции сжатия инструмента pg_receivewal 153
6.3.7 Оптимизация инструмента PSQL 153
6.4 Повышенная простота использования PostgreSQL при разработке 15 155
6.4.1 Введение оператора MERGE 155
6.4.2 Значения NULL лучше соответствуют ограничениям UNIQUE 162
6.4.3 Улучшения числовых типов данных 163
6.4.4 Введение функции регулярного выражения 164
6.4.5 Улучшения таблицы разделов 165
6.4.6 Улучшения логической репликации 166
6.5 Изменения системного уровня в PostgreSQL 15 167
6.5.1 Введение системных метаданных 167
6.5.2 Изменения функций системы 168
6.5.3 Изменение предустановленных ролей 169
6.5.4 Изменение параметров конфигурации 170
6.5.5 Изменения авторизации команды GRANT 173
6.5.6 Оптимизация рекурсивных запросов 173
6.5.7 Улучшенная безопасность публичного режима 174
6.5.8 Улучшенная безопасность просмотра 176
6.5.9 Изменения дополнительного модуля 177
6.6 Краткое содержание этой главы 177
Глава 7. Новые возможности PostgreSQL 16 179
7.1 Основные улучшения производительности в PostgreSQL 16 179
7.1.1 Параллельное улучшение функций 179
7.1.2 Улучшение производительности предварительной сортировки 180
7.1.3 Повышение производительности очистки мертвых кортежей 180
7.1.4 Другие улучшения производительности 180
7.2 Оптимизация управления эксплуатацией и обслуживанием PostgreSQL 16 181
7.2.1 Более подробная статистика ввода-вывода 181
7.2.2 Улучшение функции инструмента pg_dump 182
7.2.3 Улучшение функций инструмента PSQL 183
7.2.4 Улучшение функций команды VACUUM и инструмента VACUUMDB 183
7.2.5 Конфигурация файла pg_hba.conf более эффективна 184
7.2.6 Оптимизация подключения обычных пользователей 184
7.2.7 Улучшение мониторинга HOT-обновлений 185
7.2.8 Мониторинг неактивного индекса 185
7.2.9 Удобный анализ параметризованных операторов 186
7.3 Повышенная простота использования PostgreSQL при разработке 16 187
7.3.1 Улучшенная функция логической репликации 187
7.3.2 Частичная поддержка, представленная в SQL Standard 2023 188
7.3.3 Улучшение функции SQL/JSON 189
7.3.4 Переопределение значения по умолчанию для импорта данных 192
7.3.5 Введение функции балансировки нагрузки протокола libpq 193
7.4 Изменения системного уровня в PostgreSQL 16 193
7.4.1 Изменения совместимости версий 193
7.4.2 Изменения функций системы 195
7.4.3 Изменение предустановленных ролей 196
7.4.4 Изменения параметров конфигурации 196
7.4.5 Оптимизация первоначальных разрешений пользователя 197
7.4.6 Изменения в разрешениях ролей участников 197
7.4.7 Изменения дополнительного модуля 200
7.5 Краткое содержание данной главы 200

об авторе
Пэн Чонг, ACE PostgreSQL китайского отделения PostgreSQL, уже много лет занимается исследованиями и разработками программного обеспечения на основе базы данных PostgreSQL. Он хорошо разбирается в миграции и оптимизации бизнеса PL/PGSQL. Когда-то он работал основным разработчиком в Тяньцзине Тонгка и успешно реализовал проект на площадке Министерства транспорта Венесуэлы, а также успешно завершил общую миграцию и модернизацию национальной автобусной системы.Позже занимался гетерогенной обработкой данных торговых транзакций в системе UnionPay.Присоединился к Yunhe Enmo в 2019 году и занимается созданием баз данных с открытым исходным кодом и внутренних баз данных в группе экологических продуктов баз данных. Он заинтересован в обмене практическими технологиями баз данных PostgreSQL и openGauss/MogDB.

СМИ обзор
В этой книге обобщены и систематизированы отечественные и зарубежные статьи, посвященные новым функциям PostgreSQL, охватывающие версии от PostgreSQL 10 до PostgreSQL 16. Она основана на последних второстепенных версиях каждой версии для практической проверки, обработки и пересмотра. Сотни новых функций в книге подтверждены реальными случаями.

Рекомендуемая рекомендация
В этой книге обобщены и систематизированы отечественные и зарубежные статьи, посвященные новым функциям PostgreSQL, охватывающие версии от PostgreSQL 10 до PostgreSQL 16. Она основана на последних второстепенных версиях каждой версии для практической проверки, обработки и пересмотра. Сотни новых функций в книге подтверждены реальными случаями.


