Files
Payment_Reconciliation/controllers/__pycache__/excel_upload_controller.cpython-314.pyc

101 lines
20 KiB
Plaintext
Raw Normal View History

2026-03-23 11:37:15 +05:30
+
<00><><EFBFBD>i<EFBFBD>N<00><00>4<00>^RIt^RIt^RIt^RIHt^RIt^RIHtHtH t H
t
H t H t H t ^RIHt^RIHt^RIt]!R]4tRtRt]P-R R
R .R 7]R 44t]P-R4R4t]P-RR .R 7R4tR#)<12>N)<01>login_required)<07> Blueprint<6E>request<73>render_template<74>redirect<63>url_for<6F>jsonify<66> current_app)<01> current_user)<01> LogHelper<65>excel<65>uploadsc<04><><00>\PPR\4p\P
P V4'g\P!V4V#)zJReturns the upload folder from Flask config or default, ensures it exists.<2E> UPLOAD_FOLDER)r
<00>config<69>get<65>DEFAULT_UPLOAD_FOLDER<45>os<6F>path<74>exists<74>makedirs)<01>folders ڕC:\Users\ADMIN\Desktop\Desktop\payment_reconciliation_software-main\payment_reconciliation_software-21-03-2026\controllers\excel_upload_controller.py<70>get_upload_folderrs?<00><00> <18> <1F> <1F> #<23> #<23>O<EFBFBD>5J<35> K<>F<EFBFBD> <0A>7<EFBFBD>7<EFBFBD>><3E>><3E>&<26> !<21> !<21>
<EFBFBD> <0B> <0B>F<EFBFBD><1B> <11>M<EFBFBD>z/upload_excel_file<6C>GET<45>POST)<01>methodsc<00><00>\PR8Xd<>\PPR4pV'd<>VPP R4'd<>\ 4p\PPWP4pVPV4\P!RR\P RVP R24\\!RVPR74#\#R 4#)
r<00>filez.xlsxzUpload Excel File<6C>User z Upload Excel File '<27>'zexcel.show_table)<01>filenamezuploadExcelFile.html)r<00>method<6F>filesrr#<00>endswithrrr<00>join<69>saver <00>
log_actionr <00>idrrr)r <00> upload_folder<65>filepaths r<00>uploadr-s<><00><00><0F>~<7E>~<7E><16><1F><16>}<7D>}<7D> <20> <20><16>(<28><04> <0F>D<EFBFBD>M<EFBFBD>M<EFBFBD>*<2A>*<2A>7<EFBFBD>3<>3<>-<2D>/<2F>M<EFBFBD><19>w<EFBFBD>w<EFBFBD>|<7C>|<7C>M<EFBFBD>=<3D>=<3D>A<>H<EFBFBD> <10>I<EFBFBD>I<EFBFBD>h<EFBFBD> <1F> <15> <20> <20>#<23><17> <0C><0F><0F>(<28>(<<3C>T<EFBFBD>]<5D>]<5D>O<EFBFBD>1<EFBFBD>M<> <0E><1C>G<EFBFBD>$6<><14><1D><1D>O<>P<> P<> <1A>1<> 2<>2rz/show_table/<filename>c<00><> <00>.s\PP\ 4V4p\
P !VRR7pVPpRVP^^R7PRVP^^R7PRVP^^R7PRVP^^R7P/p.pRpRpRpRp \P!4p
V
'EdLV
PRR7p \R VR, 24V PR
VR,.4V P4Fp V P!4pK V'gVP#R VR, R 24V'd<>\R VR, RVR, 24V PRVR,VR,.4V P4Fp V P!4pK V'g'VP#RVR, RVR, R24V'd<>\RVR, RVR, 24V PRVR,VR,.4V P4Fp V P!4p K V 'g'VP#RVR, RVR, R24\RVR, 24V PRVR,.4V P4Fp V P!4pK V'g<>\RVR, 24V PRVR,.4V
P%4V PRVR,.4V P4Fp V P!4pK \R4V PR4.p V P4FpVP'4p K V Uu/uF2q<>R,'gKVR,P)4VR ,bK4 ppV P+4T
P+4/p.p^p\/^VP0^,4F<>pVP^VR7PpV'gK*VVV&R$\3V4P)49gKOV^, p\3V4P)4P54pXP7V4pVP#R%VR&VR V/4K<> \/^VP8^,4F<>p/pVPV^R7P'gK*VVR'&VP;4F&wppVPVVR7PVV&K( \=R(VP?444^8<>gK<>\P#V4K<> VF<>pVR ,'d,\R)VR%, R*VR&, R+VR , 24K=VP#R,VR%, R24\R-VR%, R*VR&, R+VR , 24K<> \AR.VV\VVVV VVVR/7 #uupi \,d0p\R!T 24R"T 2R#3uRp?T
P+4#Rp?ii;i T
P+4i;i)0T)<01> data_only<6C> Subcontractor)<02>row<6F>column<6D>State<74>District<63>BlockN)<01>
dictionaryzCalling GetStateByName with: <20>GetStateByNamezState 'z' is not valid. Please add it.z)Calling GetDistrictByNameAndStates with: z, <20>State_ID<49>GetDistrictByNameAndStatesz
District 'z' is not valid under state 'z'.z)Calling GetBlockByNameAndDistricts with: <20> District_ID<49>GetBlockByNameAndDistrictszBlock 'z' is not valid under district 'z%Calling GetSubcontractorByName with: <20>GetSubcontractorByNamezInserting subcontractor: <20>InsertSubcontractorzCalling GetAllHoldTypes<65>GetAllHoldTypes<65> hold_type<70> hold_type_idzDatabase error: zDatabase operation failed: <20><><00>hold<6C> column_name<6D> column_numberz
Row Numberc3<00>8"<00>TFq'gK ^x<00>K R#5i)<02>N<>)<02>.0<EFBFBD>values& r<00> <genexpr><3E>show_table.<locals>.<genexpr><3E>s<00><00><00>A<>&7<>U<EFBFBD>5<EFBFBD>q<EFBFBD>q<EFBFBD>&7<>s<00> <01>
z if Column: z, Column Number: z, Hold Type ID: z#Hold Type not added ! Column name 'z else Column: zshow_excel_file.html)
<EFBFBD> file_info<66> variables<65>data<74>subcontractor_data<74>
state_data<EFBFBD> district_data<74>
block_data<EFBFBD>errors<72> hold_columns<6E> hold_counter)!rNrrr'r<00>openpyxl<78> load_workbook<6F>active<76>cellrIr<00>get_db_connection<6F>cursor<6F>print<6E>callproc<6F>stored_results<74>fetchone<6E>append<6E>commit<69>fetchall<6C>lower<65>close<73> Exception<6F>range<67>
max_column<EFBFBD>str<74>stripr<00>max_row<6F>items<6D>sum<75>valuesr)r#r,<00>wb<77>sheetrLrSrOrPrQrR<00>
connectionr[<00>result<6C>hold_types_data<74>htr1<00>hold_types_lookup<75>erMrTrU<00>j<> col_value<75> hold_type_keyr@<00>i<>row_data<74>var_name<6D>col_numrBs& r<00>
show_tabler}-s<><00><00><12><04><15>7<EFBFBD>7<EFBFBD><<3C><<3C> 1<> 3<>X<EFBFBD>><3E><08> <15> #<23> #<23>H<EFBFBD><04> =<3D><02><12> <09> <09><05> <1C>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>A<EFBFBD>a<EFBFBD>Z<EFBFBD>8<>><3E>><3E> <13>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>A<EFBFBD>a<EFBFBD>Z<EFBFBD>0<>6<>6<> <16><05>
<EFBFBD>
<EFBFBD>q<EFBFBD><11>
<EFBFBD>3<>9<>9<> <13>U<EFBFBD>Z<EFBFBD>Z<EFBFBD>A<EFBFBD>a<EFBFBD>Z<EFBFBD>0<>6<>6<> 
<EFBFBD> <09><14><06>!<21><1A><19>
<EFBFBD><1C> <0A><19>
<EFBFBD><1B>-<2D>-<2D>/<2F>
<EFBFBD> <15>:<3A>3 #<23>#<23>*<2A>*<2A>d<EFBFBD>*<2A>;<3B><06><15>5<>i<EFBFBD><07>6H<36>5I<35>J<>K<><16><0F><0F> 0<>9<EFBFBD>W<EFBFBD>3E<33>2F<32>G<>$<24>3<>3<>5<>F<EFBFBD>!'<27><1F><1F>!2<>J<EFBFBD>6<>!<21><1A>M<EFBFBD>M<EFBFBD>G<EFBFBD>I<EFBFBD>g<EFBFBD>,><3E>+?<3F>?]<5D>"^<5E>_<><1D><19>E<>i<EFBFBD>PZ<50>F[<5B>E\<5C>\^<5E>_i<5F>jt<6A>_u<5F>^v<>w<>x<><1A>O<EFBFBD>O<EFBFBD>$@<40>9<EFBFBD>Z<EFBFBD>CX<43>Zd<5A>eo<65>Zp<5A>Bq<42>r<>"(<28>"7<>"7<>"9<><06>(.<2E><0F><0F>(9<> <0A>#:<3A>(<28><1E> <0A> <0A>
<EFBFBD>9<EFBFBD>Z<EFBFBD>3H<EFBFBD>2I<EFBFBD>Ie<EFBFBD>fo<EFBFBD>pw<EFBFBD>fx<EFBFBD>ey<EFBFBD>y{<7B>&|<7C>}<7D> <20><19>E<>i<EFBFBD>PW<50>FX<46>EY<45>Y[<5B>\i<>jw<6A>\x<>[y<>z<>{<7B><1A>O<EFBFBD>O<EFBFBD>$@<40>9<EFBFBD>W<EFBFBD>CU<43>Wd<57>er<65>Ws<57>Bt<42>u<>"(<28>"7<>"7<>"9<><06>%+<2B>_<EFBFBD>_<EFBFBD>%6<>
<EFBFBD>#:<3A>%<25><1E> <0A> <0A><07> <09>'<27>0B<30>/C<>Cb<43>cl<63>mw<6D>cx<63>by<62>y{<7B>&|<7C>}<7D><15>=<3D>i<EFBFBD><0F>>X<>=Y<>Z<>[<5B><16><0F><0F> 8<>9<EFBFBD>_<EFBFBD>;U<>:V<>W<>$<24>3<>3<>5<>F<EFBFBD>)/<2F><1F><1F>):<3A>&<26>6<>*<2A><19>5<>i<EFBFBD><0F>6P<36>5Q<35>R<>S<><1A>O<EFBFBD>O<EFBFBD>$9<>I<EFBFBD>o<EFBFBD><V<>;W<>X<><1E>%<25>%<25>'<27><1A>O<EFBFBD>O<EFBFBD>$<<3C>y<EFBFBD><1F>?Y<>>Z<>[<5B>"(<28>"7<>"7<>"9<><06>-3<>_<EFBFBD>_<EFBFBD>-><3E>*<2A>#:<3A><16>/<2F>0<><16><0F><0F> 1<>2<>"$<24><0F> <20>/<2F>/<2F>1<>B<EFBFBD>&(<28>k<EFBFBD>k<EFBFBD>m<EFBFBD>O<EFBFBD>2<>^m<>%C<02>^m<>WZ<57>vA<02>rB<02>rB<02>%R<>S<EFBFBD><1B>%5<>%;<3B>%;<3B>%=<3D>s<EFBFBD>><3E>?R<>%R<>^m<>!<21>%C<02><16> <0C> <0C><0E>
<1B> <20> <20>"<22><16> <09><19> <0C><18> <0C><16>q<EFBFBD>%<25>*<2A>*<2A>Q<EFBFBD>.<2E>/<2F>A<EFBFBD><1D>
<EFBFBD>
<EFBFBD>q<EFBFBD><11>
<EFBFBD>3<>9<>9<>I<EFBFBD><18>y<EFBFBD>'(<28> <09>)<29>$<24><19>S<EFBFBD><19>^<5E>1<>1<>3<>3<> <20>A<EFBFBD>%<25>L<EFBFBD>$'<27> <09>N<EFBFBD>$8<>$8<>$:<3A>$@<40>$@<40>$B<>M<EFBFBD>#4<>#8<>#8<><1D>#G<>L<EFBFBD> <20>'<27>'<27>%<25>y<EFBFBD>'<27><11>&<26> <0C>)<16><17>0<><17>q<EFBFBD>%<25>-<2D>-<2D>!<21>+<2B>,<2C>A<EFBFBD><19>H<EFBFBD><14>z<EFBFBD>z<EFBFBD>a<EFBFBD><01>z<EFBFBD>*<2A>0<>0<>0<>)*<2A><08><1C>&<26>)2<><1F><1F>):<3A>%<25>H<EFBFBD>g<EFBFBD>).<2E><1A><1A><01>'<27><1A>)J<>)P<>)P<>H<EFBFBD>X<EFBFBD>&<26>*;<3B><16>A<>h<EFBFBD>o<EFBFBD>o<EFBFBD>&7<>A<>A<>Q<EFBFBD>F<><18>K<EFBFBD>K<EFBFBD><08>)<29>-<2D>!<21>D<EFBFBD><13>N<EFBFBD>#<23>#<23><15> <0C>T<EFBFBD>-<2D>%8<>$9<>9J<39>4<EFBFBD>P_<50>K`<60>Ja<4A>aq<61>rv<72>xF<02>sG<02>rH<02>I<02>J<02><16> <0A> <0A> C<>D<EFBFBD><1D>DW<44>CX<43>XZ<58>[<5B>\<5C><15><0E>t<EFBFBD>M<EFBFBD>':<3A>&;<3B>;L<>T<EFBFBD>Ra<52>Mb<4D>Lc<4C>cs<63>tx<74>zH<02>uI<02>tJ<02>K<02>L<02> !<21><1F> "<22><1F><1F><15>1<>!<21>'<27>!<21><19>%<25>%<25> 
<EFBFBD>
<EFBFBD><EFBFBD>W%C<02><><1D> ><3E><15>(<28><11><03>,<2C>-<2D>4<>Q<EFBFBD>C<EFBFBD>8<>#<23>=<3D>=<3D><1A> <20> <20>"<22><>  ><3E><><1B> <20> <20>"<22>sq<00>.A/Y3<00>#Y3<00>A/Y3<00>2-Y3<00> A/Y3<00>BY3<00>C Y3<00>Y.<04>2#Y.<04>Y3<00>.Y3<00>3 Z-<03>>Z(<03>Z-<03>Z0<00>(Z-<03>-Z0<00>0[z
/save_datac<00>la.a/<2F>\PPR4p\PPR4p\PPR4p\PPR4p\PPR4p\PPR4p\PPR4p\'g\ RR/4R 3#\'E d)\ P!4pVP4p\EF<>p /R
V PR
4bR V PR R 4bR RbRV PR4'd!V PR4PR4MRbRV PRR 4bRV PRR4bRV PRR4bRV PRR4bRV PRR4bRV PRR4bRV PRR4bRV PRR4bRV PRR4bRV PRR4bR^bRV PRR4bRV PRR4bR V PR R4R!V PR!R4R"V PR"R4R#V PR#R 4/Cp
RRr<>^p \P!R$R%\P R&V R'24V
PR
4pV
PR 4o.V
PR4pV
PR4pV
PR4pV
PR4pV
PR4pV
PR4pV
PR4pV
PR4pV
PR4pV
PR4pV
PR4pV
PR4pV
PR4pV
PR 4pV
PR!4pV
PR"4pV
PR#4pS.'Ed/S.P4P4p R(V 9d&V P!R(4p!R)P#V RV!4p R*V 9dXV P!R*4p"V 'd$R)P#V X!^,V"^,4p MR)P#V RV"^,4p S.'Ed<>R(S.P49Ed<>R*S.P49Ed<>\%R+V R,V 4V'd<>V 'd<>Rp VP'R-W;34VP)4Fp#V#P+4p#K X#'d
V#^,MRp V 'gaVP'R.W<>34VP'R-W;34VP)4Fp#V#P+4p#K V#'d
V#^,MRp \%R/V 4\%R0V4\%R1W<31>V S.VVVVVVVVVVVVV4W<>V S.VVVVVVVVVVVVVV^3p$\%R2V$4VP'R3V$4p%V%RW,p&\%R4V&4\-V\.4'd\0P2!V4p\-V\44'Ed\6;QJdR5V4F 'dK R6M R7M !R5V44'd<>VF<>p'\%R8V' 24V'PR94p(V'PR:4p)V('d<>V PV(4p*V*en\%R;V( R<V* 24R=VR>V&R:V)R?V*/p+VP'R@V+R=,V+R>,V+R:,V+R?,.4VP94\%RAV+ 24K<>K<>\%RBV' 24K<> M<>\%RC4Mw\:;QJdV.3RDlRX4F 'gK R7M R6M!V.3RDlRX44'd8\%REVVVVVVVVVVVVV4VP'RFVS.VVVVVVVVVVV. 4\<P>!RGR)S.PA44P4o/.RYOp,\:;QJdV/3RHlV,4F 'gK R7M R6M!V/3RHlV,44'dD\%RIS.4VP'RJVVS.VVVV.4VP94\%RKVS.4MsS.'dl\:;QJdV.3RLlRZ4F 'gK R7M R6M!V.3RLlRZ44'd,\%RMVVVVVVV4VP'RNVVVVVVV.4V'd:V'd2V'd*\%ROVVVVVV4VP'RPVVVVVV34V 'gRp VP'RQVV V S.VVVVVVVVVVV^VVVVVVV34EK<> VP94\ RRRS/4^<5E>3VPC4VPC4#\IRV4# \DdMp-TPG4\ RRTT- 2/4RU3uRp-?-TPC4TPC4#Rp-?-ii;i TPC4TPC4i;i)[rOrPrQrRz variables[]rTrU<00>errorzNo data provided to savei<65><00>PMC_No<4E>Invoice_Details<6C><00> Work_Type<70>none<6E> Invoice_Datez%Y-%m-%dN<64>
Invoice_No<EFBFBD> Basic_Amountg<00> Debit_Amount<6E>After_Debit_Amount<6E>Amount<6E>
GST_Amount<EFBFBD>
TDS_Amount<EFBFBD> SD_Amount<6E> On_Commission<6F> Hydro_Testing<6E> Hold_Amount<6E> GST_SD_Amount<6E> Final_Amount<6E>Payment_Amount<6E> Total_Amount<6E>TDS_Payment_Amount<6E>UTRz
Data savedr!z Data saved'r"<00>village<67> <20>workzvillage_name ::z|| work_type ::<3A> GetVillageId<49> SaveVillagez village_id :z
block_id :z invoice :zAll invoice Details <20> SaveInvoicezinvoice id from the excel c3<00>B"<00>TFp\V\4x<00>K R#5i<01>N)<02>
isinstance<EFBFBD>dict)rHrBs& rrJ<00>save_data.<locals>.<genexpr>s<00><00><00>Ar<41>eq<65>]a<>*<2A>T<EFBFBD>SW<53>BX<42>BX<42>eq<65>s<00>FTzProcessing hold: rCr@zProcessing hold type: z, Hold Amount: <20> Contractor_Id<49>
Invoice_Id<EFBFBD> hold_amount<6E>InsertHoldJoinDatazInserted hold join data: zInvalid hold entry: z6Hold columns data is not a valid list of dictionaries.c3<00>H<"<00>TFqSP49x<00>K R#5ir<><00>rc<00>rH<00>keywordr<64>s& <20>rrJr<>3s<00><><00><00>p<>Oo<4F>G<EFBFBD><0F>(=<3D>(=<3D>(?<3F>?<3F>Oo<4F><6F><00>"zCredit note found:<3A>AddCreditNoteFromExcelz\s+c3<00>,<"<00>TF qS9x<00>K R#5ir<>rG)rH<00>kw<6B>normalized_detailss& <20>rrJr<>Ms<00><><00><00>G<>h<EFBFBD><02>!3<>3<>h<EFBFBD>s<00>u,✅ Match found. Inserting hold release for:<3A>AddHoldReleaseFromExcelu✅ Hold release inserted for:c3<00>H<"<00>TFqSP49x<00>K R#5ir<>r<>r<>s& <20>rrJr<>Vs"<00><><00><00>1j<01>Nh<4E>7<EFBFBD><EFBFBD>'<<3C>'<<3C>'><3E>><3E>Nh<4E>r<EFBFBD>z
Gst rels :<3A>AddGSTReleaseFromExcelz Payment :<3A> SavePayment<6E>InsertOrUpdateInPayment<6E>successzData saved successfully!zAn unexpected error occurred: rAz
index.html<6D><6C><EFBFBD><EFBFBD><EFBFBD>)z credit note<74>logging report)z excess holdrszhold release amountzdpr excess hold amountzexcess hold amountzMulti to Single layer billz hold amountr<74>)<03>gst<73>release<73>note)%r<00>formr<00>getlistrNr rrZr[<00>strftimer r)r r*rc<00>split<69>indexr'r\r]r^r_r<>rh<00>ast<73> literal_eval<61>list<73>allra<00>any<6E>re<72>subrirdre<00>rollbackr)0<>subcontractor_id<69>state_id<69> district_id<69>block_idrMrTrUrpr[<00>entry<72> save_data<74> village_name<6D> work_type<70>
village_idr<EFBFBD>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00>words<64> village_pos<6F>work_posrq<00>args<67>results<74>
invoice_idrB<00>hold_column_namer@r<><00>hold_join_data<74>keywordsrur<>r<>s0 @@rr<>r<><00>sM
<00><><00><1F>|<7C>|<7C>'<27>'<27>(<<3C>=<3D><14><16>|<7C>|<7C><1F><1F> <0C>-<2D>H<EFBFBD><19>,<2C>,<2C>"<22>"<22>?<3F>3<>K<EFBFBD><16>|<7C>|<7C><1F><1F> <0C>-<2D>H<EFBFBD><17> <0C> <0C>$<24>$<24>]<5D>3<>I<EFBFBD><1A><<3C><<3C>#<23>#<23>N<EFBFBD>3<>L<EFBFBD><1A><<3C><<3C>#<23>#<23>N<EFBFBD>3<>L<EFBFBD> <0F>4<EFBFBD><16><07>!;<3B><<3C>=<3D>s<EFBFBD>B<>B<> <0B>t<EFBFBD><1B>-<2D>-<2D>/<2F>
<EFBFBD><1B>"<22>"<22>$<24><06>H <1F><1D><14><05><12><1C>e<EFBFBD>i<EFBFBD>i<EFBFBD><08>1<><12>%<25>u<EFBFBD>y<EFBFBD>y<EFBFBD>1B<31>B<EFBFBD>'G<><12> <20><16><12>#<23>V[<5B>V_<56>V_<56>"<22>W$<24>W$<24>E<EFBFBD>I<EFBFBD>I<EFBFBD>n<EFBFBD>$=<3D>$F<>$F<>z<EFBFBD>$R<>)-<2D> <12> !<21>%<25>)<29>)<29>L<EFBFBD>"<22>"=<3D> <12>#<23>E<EFBFBD>I<EFBFBD>I<EFBFBD>n<EFBFBD>d<EFBFBD>$C<><12>#<23>E<EFBFBD>I<EFBFBD>I<EFBFBD>n<EFBFBD>d<EFBFBD>$C<><12>)<29>%<25>)<29>)<29>4H<34>$<24>*O<><12><1D>e<EFBFBD>i<EFBFBD>i<EFBFBD><08>$<24>7<><12>!<21>%<25>)<29>)<29>L<EFBFBD>$<24>"?<3F><12>!<21>%<25>)<29>)<29>L<EFBFBD>$<24>"?<3F><12> <20><15><19><19>;<3B><04>!=<3D><12>$<24>U<EFBFBD>Y<EFBFBD>Y<EFBFBD><EFBFBD><04>%E<><12>$<24>U<EFBFBD>Y<EFBFBD>Y<EFBFBD><EFBFBD><04>%E<><12> "<22>1<EFBFBD>!<12>"$<24>U<EFBFBD>Y<EFBFBD>Y<EFBFBD><EFBFBD><04>%E<>#<12>$#<23>E<EFBFBD>I<EFBFBD>I<EFBFBD>n<EFBFBD>d<EFBFBD>$C<>%<12>&%<25>e<EFBFBD>i<EFBFBD>i<EFBFBD>0@<40>$<24>&G<>"<22>E<EFBFBD>I<EFBFBD>I<EFBFBD>n<EFBFBD>d<EFBFBD>$C<>(<28>%<25>)<29>)<29>4H<34>$<24>*O<><19>5<EFBFBD>9<EFBFBD>9<EFBFBD>U<EFBFBD>B<EFBFBD>/<2F>-<12> <09>0+/<2F><04>i<EFBFBD><1E>
<EFBFBD><19>$<24>$<24>\<5C>U<EFBFBD><<3C>?<3F>?<3F>:K<><<3C>Zf<5A>Wg<57>gh<67>3i<33>j<>"<22><1D><1D>x<EFBFBD>0<><06>"+<2B>-<2D>-<2D>0A<30>"B<><0F>(<28>}<7D>}<7D>^<5E><<3C> <0C>&<26>]<5D>]<5D><<3C>8<>
<EFBFBD>(<28>}<7D>}<7D>^<5E><<3C> <0C>(<28>}<7D>}<7D>^<5E><<3C> <0C>%.<2E>]<5D>]<5D>3G<33>%H<>"<22>"<22><1D><1D>x<EFBFBD>0<><06>&<26>]<5D>]<5D><<3C>8<>
<EFBFBD>&<26>]<5D>]<5D><<3C>8<>
<EFBFBD>%<25>M<EFBFBD>M<EFBFBD>+<2B>6<> <09> )<29> <0A> <0A>o<EFBFBD> ><3E> <0A> )<29> <0A> <0A>o<EFBFBD> ><3E> <0A> )<29> <0A> <0A>o<EFBFBD> ><3E> <0A>(<28>}<7D>}<7D>^<5E><<3C> <0C>!*<2A><1D><1D>/?<3F>!@<40><0E>(<28>}<7D>}<7D>^<5E><<3C> <0C>%.<2E>]<5D>]<5D>3G<33>%H<>"<22><1F>m<EFBFBD>m<EFBFBD>E<EFBFBD>*<2A><03>"<22>?<3F>+<2B>1<>1<>3<>9<>9<>;<3B>E<EFBFBD> <20>E<EFBFBD>)<29>&+<2B>k<EFBFBD>k<EFBFBD>)<29>&<<3C> <0B>'*<2A>x<EFBFBD>x<EFBFBD><05>l<EFBFBD>{<7B>0C<30>'D<> <0C><1D><15><EFBFBD>#(<28>;<3B>;<3B>v<EFBFBD>#6<><08>'<27>(+<2B><08><08><15>{<7B>Q<EFBFBD><EFBFBD>x<EFBFBD>RS<52>|<7C>1T<31>(U<>I<EFBFBD>(+<2B><08><08><15>}<7D><08>1<EFBFBD> <0C>1E<31>(F<>I<EFBFBD>&<26><EFBFBD>9<EFBFBD><0F>8M<38>8M<38>8O<38>+O<>TZ<54>^m<>^s<>^s<>^u<>Tu<54><1D>/<2F><1C>?P<>R[<5B>\<5C>#<23> <0C>)-<2D>J<EFBFBD>"<22>O<EFBFBD>O<EFBFBD>N<EFBFBD>X<EFBFBD><T<>U<>*0<>*?<3F>*?<3F>*A<><06>)/<2F><1F><1F>):<3A><06>+B<01>6<<3C><16><01><19>$<24>J<EFBFBD>#-<2D> &<26><0F><0F> <0A> <0C>?W<> X<> &<26><0F><0F><0E><18>@X<> Y<>.4<EFBFBD>.C<>.C<>.E<>F<EFBFBD>-3<>_<EFBFBD>_<EFBFBD>-><3E>F<EFBFBD>/F<01>:@<40>V<EFBFBD>A<EFBFBD>Y<EFBFBD>d<EFBFBD>
<EFBFBD><1D>n<EFBFBD>j<EFBFBD>9<><1D>l<EFBFBD>H<EFBFBD>5<><1D>k<EFBFBD>6<EFBFBD>y<EFBFBD>/<2F>[g<>is<69>*<2A>L<EFBFBD>:L<>f<EFBFBD>V`<60>bl<62>'<27><1D> <0A>}<7D>Vb<56>d<01>
#<23> <09>?<3F>L<EFBFBD>Zd<5A>(<28>,<2C>8J<38>F<EFBFBD>T^<5E>`j<>%<25>}<7D>m<EFBFBD>]<5D>T`<60>,<2C>a<EFBFBD>  <1A><04><1E>4<>T<EFBFBD>:<3A>"(<28>/<2F>/<2F>-<2D><14>"F<><07>%,<2C>R<EFBFBD>[<5B>
<EFBFBD><1D>:<3A>J<EFBFBD>G<>%<25>l<EFBFBD>C<EFBFBD>8<>8<>+.<2E>+;<3B>+;<3B>L<EFBFBD>+I<>L<EFBFBD>%<25>l<EFBFBD>D<EFBFBD>9<>9<>c<EFBFBD>c<EFBFBD>Ar<41>eq<65>Ar<41>c<EFBFBD>c<EFBFBD>c<EFBFBD>Ar<41>eq<65>Ar<41>>r<>>r<>(4<><04> %<25>(9<>$<24><16>&@<40> A<>37<33>8<EFBFBD>8<EFBFBD>M<EFBFBD>3J<33> 0<>/3<>x<EFBFBD>x<EFBFBD><0E>/G<> <0C>#3<>27<32>)<29>)<29>(8<>3:<3A>K<EFBFBD>'2<>'><3E>(-<2D>0F<30>GW<47>FX<46>Xg<58>hs<68>gt<67>.u<>(v<>,;<3B>=M<>,8<>*<2A>,:<3A>L<EFBFBD>,9<>;<3B> :*<2A><0E> )/<2F><0F><0F>8L<38>,:<3A>?<3F>,K<>^<5E>\h<>Mi<4D>,:<3A>><3E>,J<>N<EFBFBD>[h<>Li<4C>O*<2A>)+<2B>)3<>(9<>(9<>(;<3B>(-<2D>0I<30>.<2E>IY<49>.Z<>([<5B>(?<3F>%*<2A>,@<40><14><06>*G<>$H<>-)5<>0"<22>"Z<>[<5B><1C><13>p<>Oo<4F>p<><13><13><13>p<>Oo<4F>p<>p<>p<><1D>2<>F<EFBFBD>J<EFBFBD> <0C>Vb<56>dp<64>0<>*<2A>f<EFBFBD>l<EFBFBD>Tb<54>dp<64>ru<72>xB<02>C<02><1E><0F><0F>4<> &<26><0F><1C>|<7C>Ug<55> *<2A>F<EFBFBD>L<EFBFBD>.<2E>R^<5E>`c<> 0<>*<2A><1E><1A>*,<2C><16><16><06><03>_<EFBFBD>=R<>=R<>=T<>)U<>)[<5B>)[<5B>)]<5D>&<26> <16>H<EFBFBD><1B>s<EFBFBD>G<>h<EFBFBD>G<>s<EFBFBD>s<EFBFBD>s<EFBFBD>G<>h<EFBFBD>G<>G<>G<><1D>L<>o<EFBFBD>^<5E><1E><0F><0F>5<>#<23>Z<EFBFBD><1F>,<2C>P\<5C>^a<>cs<63>t<><02>#<23>)<29>)<29>+<2B><1D>><3E><06><0F>X<>(<28>S<EFBFBD>S<EFBFBD>1j<01>Nh<4E>1j<01>S<EFBFBD>S<EFBFBD>S<EFBFBD>1j<01>Nh<4E>1j<01>.j<01>.j<01><1D>l<EFBFBD>F<EFBFBD>J<EFBFBD> <0C>l<EFBFBD>[g<>hk<68>m}<7D>~<7E><1E><0F><0F>4<>#<23>Z<EFBFBD><1C>|<7C>\<5C>[^<5E>`p<>q<><1A>
<1A>l<EFBFBD>s<EFBFBD><19>+<2B>v<EFBFBD>z<EFBFBD>><3E>K]<5D>_k<5F>mp<6D>r<><1A>O<EFBFBD>O<EFBFBD>M<EFBFBD>6<EFBFBD>:<3A>~<7E>Wi<57>kw<6B>y|<7C>2~<7E><>!<21>!%<25>J<EFBFBD><16><0F><0F> 9<><1E>"<22>!<21>'<27>$<24>"<22>$<24>$<24>*<2A><1E>"<22>"<22>!<21>%<25>%<25><19>%<25>$<24>&<26>*<2A>$<24><1B>(<28>/<<16><17>O<1E>@ <17> <1D> <1D> <1F><1A>I<EFBFBD>'A<>B<>C<>S<EFBFBD>H<>
<13>L<EFBFBD>L<EFBFBD>N<EFBFBD> <16> <1C> <1C> <1E> <1A><<3C> (<28>(<28><> <19> Q<01> <16> <1F> <1F> !<21><1A>G<EFBFBD>'E<>a<EFBFBD>S<EFBFBD>%I<>J<>K<>S<EFBFBD>P<> P<> <12>L<EFBFBD>L<EFBFBD>N<EFBFBD> <16> <1C> <1C> <1E><>  Q<01><> <13>L<EFBFBD>L<EFBFBD>N<EFBFBD> <16> <1C> <1C> <1E>s<EFBFBD><00>*Nh7<00>0Ah7<00>7A h7<00>Ah7<00>h7<00>Ah7<00>-Ch7<00>h7<00>h7<00>/C*h7<00>h7<00>1h7<00>Bh7<00> h7<00>>A
h7<00>
h7<00>h7<00>+h7<00> 2h7<00><h7<00>h7<00> 0h7<00>=Ah7<00>7 j<03>!j <03>#j<03>$j<00> j<03>j<00>"j3)rr<>r<><00> flask_loginrrV<00>flaskrrrrrr r
r <00> model.Logr r<00>__name__<5F>excel_bprr<00>router-r}r<>rGrr<00><module>r<>s<><00><01> <09>
<EFBFBD> <09>&<26><0F>^<5E>^<5E>^<5E>$<24><1F> <0A> <14>W<EFBFBD>h<EFBFBD> '<27><08>"<22><15><12>
<EFBFBD><1E><1E>$<24>u<EFBFBD>f<EFBFBD>o<EFBFBD><1E>><3E><0F> 3<><10>?<3F> 3<>"
<EFBFBD><1E><1E>(<28>)<29>z
<EFBFBD>*<2A>z
<EFBFBD>|
<EFBFBD><1E><1E> <0C>v<EFBFBD>h<EFBFBD><1E>/<2F>W)<29>0<>W)r